gpt4 book ai didi

javascript - forEach 与 myArray[i] 或参数

转载 作者:行者123 更新时间:2023-11-30 21:16:09 26 4
gpt4 key购买 nike

学习Javascript。我有一个关于 forEach 的问题。我不明白为什么这两个循环有不同的结果:

var myArray = [1,2,3,4,5];
myArray.forEach(function(value, i){
myArray[i] = value + value;
});
console.log(myArray); // [2,4,6,8,10];


var myArray = [1,2,3,4,5];
myArray.forEach(function(value){
value = value + value;
});
console.log(myArray); // [1,2,3,4,5]

我认为——也许我错了——在操作数组并将结果存储在另一个数组中时,.map 更好,而在不改变原始数组的情况下操作数组时,foreach 更好;但是,“为什么我的第一个例子有效? ¿如果我想遍历一个数组修改它的值,我应该使用什么?

最佳答案

why my first example works?

因为您为数组索引分配了一个新值(与第二个示例不同,在第二个示例中,您为本地 value 变量分配了一个新值,然后不再使用它)。

what should I use if I want to traverse an array modifying its values?

forEach 就可以了。

关于javascript - forEach 与 myArray[i] 或参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45663694/

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