使用 forEach 循环时,不能直接对列表中的元素进行更新操作。因为 forEach 是一种读取每个元素并执行操作的方法,而不是一种更新元素的方法。如果需要更新数组中的所有元素,应该使用 for 循环或使用 map() 方法。
示例代码:
// 使用 forEach 更新列表中的元素 let arr = [1, 2, 3, 4, 5]; // 错误示例,只更新了 2 个元素 arr.forEach((item, index) => { if (index < 2) { arr[index] = item + 1; } });
// 正确示例,使用 for 循环更新所有元素 for (let i = 0; i < arr.length; i++) { arr[i] = arr[i] + 1; }
// 或者使用 map() 方法更新所有元素 arr = arr.map((item) => item + 1);