在js

时间:2017-09-30 14:33:02

标签: javascript arrays for-loop iteration

我有一个长度为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;
  }
}

或者,在迭代时向元素添加元素并确保新添加的元素也将被循环的正确方法是什么?

2 个答案:

答案 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++;
}