Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var i = testData.length - 1;--i
var a = ["a", "b", "c"];
var entry;
while (!(entry = a.next()).done) {
console.log(entry.value);
}
next.Преобразование в настоящий массив
for-of с итераторами заикнулись, а про Array.from ни слова.next есть. Но не у массива, а у его итератора и вам нужно переписать код, чтобы он сначала получал итератор, а потом уже использовал next, чтобы получить код, эквивалентный for of. То, что есть, не является эквивалентным кодом.Поясните за этот регексп /^0$|^[1-9]\d*$/
строка, содержащая десятичную запись целого числа, значение которого меньше 4294967294
^\d+$ допускает недесятичные числа как напр-р: 012.Там же — пишете что «key — строка» и проверяете как «key <= 4294967294»
String(parseInt(key, 10)) === keylength в цикле больше никто не читает» — как CPU положит, так и будет работать :) У меня есть машина (с Xeonом) там у меня получилось быстрее — я это исключительно для того в пост добавил, чтобы показать, что это все замеры погоды в северном полушарии.function loop(fn) {
var index = 0;
return function over(array) {
if (index >= array.length) {
return;
}
fn(array[index], index, array);
index++;
over(array);
};
}
var consoleLog = loop(function (item, index, array) {
console.log(item, index, array);
});
consoleLog([1, 2, 3, 4]);
function Y(le) {
return function(f) {
return f(f);
}(function(f) {
return le(function(x) {
return (f(f))(x);
});
});
}
function loop(fn) {
var index = index || 0;
return function (over) {
return function (array) {
if (index >= array.length) {
return;
}
fn(array[index], index, array);
index++;
over(array);
};
};
}
var consoleLog = Y(loop(function (item, index, array) {
console.log(item, index, array);
}));
consoleLog([1, 2, 3, 4]);
Для преобразования можно использовать универсальный метод Array.prototype.slice, который может быть применен к любому массивоподобному объекту.
var items = [1, 2, 3];
[].forEach.call(items, function(item, index) {
console.log(item, index);
});
for ... in для массива, значит что-то идёт не так)
Все способы перебора массива в JavaScript