gpt4 book ai didi

Javascript:在循环时向数组添加值,然后也将包含在循环中

转载 作者:可可西里 更新时间:2023-11-01 02:28:50 25 4
gpt4 key购买 nike

抱歉,如果这是重复的,似乎无法找到它。

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 个数字都在其中)

最佳答案

使用 Array.prototype.forEach()不会将回调应用于在执行期间附加到数组或从数组中删除的元素。来自specification :

The range of elements processed by forEach is set before the first call to callbackfn. Elements which are appended to the array after the call to forEach begins will not be visited by callbackfn.

但是,您可以使用标准的 for 循环,并在每次迭代期间有条件地检查数组的当前长度:

for (var i = 0; i < a.length; i++) {
if (a[i] == 1) a.push(5);
console.log(a[i]);
}

关于Javascript:在循环时向数组添加值,然后也将包含在循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25243586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com