1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-17 19:45:46 +01:00

Use builtin Array.find rather than array.nth where applicable.

This commit is contained in:
Kris Maglione
2014-02-22 14:57:23 -08:00
parent 414a165e9c
commit 6790c62c41
14 changed files with 58 additions and 43 deletions

View File

@@ -1508,21 +1508,21 @@ update(iter, {
every: function every(iter, pred, self) {
pred = pred || util.identity;
for (let elem in iter)
for (let elem of iter)
if (!pred.call(self, elem))
return false;
return true;
},
some: function every(iter, pred, self) {
pred = pred || util.identity;
for (let elem in iter)
for (let elem of iter)
if (pred.call(self, elem))
return true;
return false;
},
filter: function filter(iter, pred, self) {
for (let elem in iter)
for (let elem of iter)
if (pred.call(self, elem))
yield elem;
},
@@ -1536,13 +1536,13 @@ update(iter, {
* @param {object} self The this object for *fn*.
*/
forEach: function forEach(iter, func, self) {
for (let val in iter)
for (let val of iter)
func.call(self, val);
},
indexOf: function indexOf(iter, elem) {
let i = 0;
for (let item in iter) {
for (let item of iter) {
if (item == elem)
return i;
i++;
@@ -1558,7 +1558,7 @@ update(iter, {
* @returns {Array}
*/
map: function map(iter, func, self) {
for (let i in iter)
for (let i of iter)
yield func.call(self, i);
},
@@ -1570,18 +1570,29 @@ update(iter, {
if (typeof pred === "number")
[pred, n] = [() => true, pred]; // Hack.
for (let elem in iter)
for (let elem of iter)
if (pred.call(self, elem) && n-- === 0)
return elem;
return undefined;
},
/**
* Analog of Array.find method. Returns the first item in the
* iterator for which `pred` returns true.
*/
find: function find(iter, pred, self) {
for (let elem of iter)
if (pred.call(self, elem))
return elem;
return undefined;
},
sort: function sort(iter, fn, self)
array(this.toArray(iter).sort(fn, self)),
uniq: function uniq(iter) {
let seen = RealSet();
for (let item in iter)
for (let item of iter)
if (!seen.add(item))
yield item;
},