JavaScript fill() 语法
fill() 是 JavaScript 数组的一个方法,它可以使用某个指定值来填充数组。
语法:
arr.fill(value, start, end)说明:
fill() 方法接收以下 3 个参数。
value(必选):表示用来填充的值。start(可选):表示填充的开始下标。end(可选):表示填充的结束下标。
如果 start 不省略而省略 end,则表示填充的范围为:start 到结尾。如果 start 和 end 都省略,则表示填充整个数组。
注意: fill() 方法会修改原数组。
JavaScript fill() 摘要
| 属于 | JavaScript Array 对象 |
|---|---|
| 使用频率 | 中 |
| 修改原数组 | 是 |
| 官方文档 | 查看 |
| MDN | 查看 |
JavaScript fill() 示例
在实际开发中,我们可能会遇到这样一种情况:新建一个包含 10 个元素的数组,每个元素的默认值都是 0。如果使用 ES5 的方式,我们要这样写。
// ES5
const arr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];但是如果使用 ES6 的 fill() 方法,就简单多了。
// ES6
const arr = new Array(10).fill(0);示例:fill() 基本用法
const arr1 = [1, 2, 3, 4];
arr1.fill(8);
console.log(arr1);
const arr2 = [1, 2, 3, 4];
arr2.fill(8, 2);
console.log(arr2);运行结果如下。
[8, 8, 8, 8]
[1, 2, 8, 8]分析:
需要注意的是,如果填充的是对象或数组,那么 fill() 填充的是同一个引用。
const arr = new Array(3).fill([]); // 填充空数组
arr[0].push(1);
console.log(arr); // 输出 [[1], [1], [1]] 此外,ES6 还有一个与 fill() 方法比较相似的 copyWithin() 方法,具体可以查看:
