如何在JavaScript中一次性修改数组所有元素的值
将数组所有元素修改为同一值的多种实现方法
当然有更简洁高效的实现方式,以下是几种常用方法:
1. 使用 Array.fill()(最推荐)
这是ES6新增的数组方法,专门用于填充数组,直接修改原数组:
let arr = [1,2,3]; arr.fill(0); // arr 现在变为 [0, 0, 0]
如果只想填充部分元素,可以指定起始和结束索引(左闭右开):
arr.fill(0, 1, 3); // 仅修改索引1到2的元素,结果为 [1, 0, 0]
2. 使用 Array.map()(返回新数组)
map方法会返回一个新数组,适合不想修改原数组引用的场景:
let arr = [1,2,3]; const newArr = arr.map(() => 0); // newArr 是 [0,0,0],原arr保持不变 // 如果要替换原数组,直接重新赋值即可 arr = arr.map(() => 0);
3. 使用循环(for/forEach)
如果需要在修改时执行额外逻辑,循环是更灵活的选择:
forEach 版本:
let arr = [1,2,3]; arr.forEach((_, idx) => { arr[idx] = 0; // 这里可以添加其他操作,比如打印索引、判断条件等 });
普通for循环版本:
let arr = [1,2,3]; for (let i = 0; i < arr.length; i++) { arr[i] = 0; }
4. 使用 Array.from()(创建新数组)
通过指定长度和映射函数生成新数组:
let arr = [1,2,3]; arr = Array.from({ length: arr.length }, () => 0);
内容的提问来源于stack exchange,提问作者Akash C
相关产品推荐
相关产品推荐

