JavaScript 数组 fill() 方法

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() 方法,具体可以查看:

copyWithin() 方法

上一篇: at()

下一篇: copyWithin()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号