forEach
本身不会改变原数组,它仅仅是对数组中的每一项执行提供的回调函数。如果在回调函数中修改数组元素的内容,那么数组的内容会被改变,但 forEach
本身并不对数组结构(如添加或删除元素)做出任何改变。
例如:
let arr = [1, 2, 3, 4];
arr.forEach((item, index) => {
arr[index] = item * 2; // 这会修改原数组
});
console.log(arr); // 输出: [2, 4, 6, 8]
forEach
不会移除或添加数组中的元素。如果希望在遍历时更改数组的结构(如删除或添加元素),需要使用其他方法(如 map
, filter
, splice
等)。
在此场景中,我们是通过 forEach
来修改数组中每项的值,这不会影响数组的结构,只会更改数组元素值。
总结:
forEach
不会改变数组的长度或结构(不会删除或添加元素)。- 但是,如果在回调函数中修改数组的元素内容,原数组的元素内容是会发生变化的。