抱歉,如果这是重复的,似乎无法找到它。
var a = [1,2,3,4];
a.forEach(function(value){
if(value == 1) a.push(5);
console.log(value);
});
我想知道是否有一种方法(任何类型的循环或数据类型),以便在循环期间输出 1 2 3 4 5(或以任何顺序,只要所有 5 个数字都在其中)
原文由 Flion 发布,翻译遵循 CC BY-SA 4.0 许可协议
抱歉,如果这是重复的,似乎无法找到它。
var a = [1,2,3,4];
a.forEach(function(value){
if(value == 1) a.push(5);
console.log(value);
});
我想知道是否有一种方法(任何类型的循环或数据类型),以便在循环期间输出 1 2 3 4 5(或以任何顺序,只要所有 5 个数字都在其中)
原文由 Flion 发布,翻译遵循 CC BY-SA 4.0 许可协议
明显的解决方案:
var a = [1,2,3,4];
for (var i=0; i<a.length; i++){
var value = a[i];
if(value == 1) a.push(5);
console.log(value);
}
原文由 Denys Séguret 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
使用
Array.prototype.forEach()
不会 将回调应用于执行期间附加到数组或从数组中删除的元素。从 规格:但是,您可以使用标准
for
循环,并在每次迭代期间有条件地检查数组的当前长度: