我有一个长度为3的JavaScript数组
arr = [1, 3, 8];
当我迭代它时,有没有办法向arr
添加元素?我想在现有arr
中插入两个值10和20。我可以这样做吗?新添加的元素10和20也必须在循环中循环使用。
for(var i in arr) {
if( i == 0 ) {
arr[length + 0] = 10;
arr[length + 1] = 20;
}
}
或者,在迭代时向元素添加元素并确保新添加的元素也将被循环的正确方法是什么?
答案 0 :(得分:2)
您可以使用for
statement并在迭代数组时检查int
。
使用for ... in
statement时,不会批准新元素的迭代。
添加到正在进行迭代的对象的属性可以在迭代中被访问或省略。通常,除了当前正在访问的属性之外,最好不要在迭代期间添加,修改或删除对象的属性。
pow()

答案 1 :(得分:1)
你真的不应该这样做,可能有更好的方法。但是,如果你必须这样做,请改用while循环:
var arr = [1, 2, 3];
var i = 0;
while (i < arr.length) {
if( i == 0 ) {
arr.push(10, 20);
}
console.log(arr[i]); // 1, 2, 3, 10, 20
i++;
}