JavaScript forEach : mutate elements

标签 javascript arrays loops foreach

我想在数组上使用 forEach。由于 forEach 是一个 mutator,它应该改变原始数组中的值,但事实并非如此。这里有什么问题?

let array = [1, 2, 3, 4]; //simple array declaration

array.forEach((ele) => ele * 2); //using forEach to double each element in "array"

console.log(array); //logs [1,2,3,4] instead of [1,4,6,8]

这里发生了什么?

最佳答案

不,forEach不会改变原始数组。
您可以通过提供 index 的第二个参数来实现您正在寻找的东西。 ,然后更新原始数组的值。

let array = [1, 2, 3, 4];
array.forEach((ele, index) => array[index] = ele * 2);

console.log(array);

forEach 的文档

关于JavaScript forEach : mutate elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69445950/

相关文章:

javascript - 滚动导航无法正常工作

c# - 将 double 转换为 int 数组

jquery 显示/隐藏 div 和一个计数器

javascript - jQuery 声音

javascript - 使事件运行多次,Highcharts

javascript - 如何以编程方式获取网页大小?

php - 在php中检查二维数组的值

javascript - 从 Java 创建 JavaScript 对象数组

Java - 循环问题

Javascript循环第一次运行时有效,但第二次运行时给出NaN,没有逻辑