【发布时间】:2018-03-12 05:40:22
【问题描述】:
我有一个长度为 3 的 JavaScript 数组
arr = [1, 3, 8];
有没有办法在我迭代时向arr 添加元素?我想在现有的arr 中插入两个值 10 和 20。我可以这样做吗?新添加的元素 10 和 20 也必须在同一个 for in 循环中循环。
for(var i in arr) {
if( i == 0 ) {
arr[length + 0] = 10;
arr[length + 1] = 20;
}
}
或者,在迭代时向数组添加元素并确保新添加的元素也将被循环的正确方法是什么?
【问题讨论】:
-
使用另一个
for循环for(var i = 0; i < arr.length; i++)并使用arr.push(10); arr.push(20);而不是arr[length+0] -
for (var ... in ...)仅适用于对象:Why is using “for…in” with array iteration a bad idea? -
在迭代过程中是否需要添加额外的元素?为什么不能先添加呢?
-
@AlanLarimer 很可能他简化了问题中的代码,而真正的代码并没有像这样添加常量。
-
您不应该使用
for循环来改变您在计算机科学中使用的实体。你最好永远不要这样做,但如果你真的需要...... a) 提前准备好数组,然后通过for循环进行迭代,b) 在while循环中修改它 c) 通过递归修改它。跨度>
标签: javascript arrays for-loop iteration