Мне просто интересно, почему невозможно сделать forEach в массиве undefined.
код:
var arr = new Array(5); // [undefined x 5]
//ES5 forEach
arr.forEach(function(elem, index, array) {
console.log(index);
});
//underscore each
_.each(arr, function(elem, index, array) {
console.log(index);
});
Оба примера не выполняют функцию.
Теперь, чтобы сделать foreach, я должен сделать:
var arr = [0,0,0,0,0];
Затем сделайте для него Each на нем.
Я пытаюсь создать массив с указанным размером и пропустить его, избегая цикла for
. Я думаю, что это более ясное использование forEach, чем для цикла.
С массивом длиной 5 это не проблема, но это было бы уродливо с большими массивами.
Почему возникает проблема, связанная с массивом значений undefined?