填充数组
# 描述
fill
方法用给定的值填充一个数组(将数组的每个元素都指向这个值)
[1, 2, 3].fill(0);
// [0, 0, 0]
另外还可以指定填充的起始位置和结束位置
[1, 2, 3, 4, 5].fill(0, 0, 3);
// [0, 0, 0, 4, 5]
// 从索引 0 开始,到索引 3 之前结束
# 边界情况
# 如果缺少第三个参数,即没有指定填充的结束位置,默认是填充到数组最后一个元素
[1, 2, 3, 4, 5].fill(0, 2);
// [1, 2, 0, 0, 0]
// 从索引 2 开始到数组最后一个元素
# 后两个参数是负数
如果第二个参数是负数:
[1, 2, 3].fill(0, -2);
// [1, 0, 0]
// -1 会被当成数组倒数第二个处理
相应的,如果第三个参数也是负数,也会这样处理
[1, 2, 3, 4, 5].fill(0, -4, -1);
// [1, 0, 0, 0, 5]
// 从倒数第 4 个元素开始,到倒数第一个元素之前结束
# 第二个参数小于第三个参数
当第二个参数小于第三个参数的时候,fill
方法不做任何处理。
[1, 2, 3, 4, 5].fill(0, 4, 2);
// [1, 2, 3, 4, 5]
[1, 2, 3, 4, 5].fill(0, -2, -4);
// [1, 2, 3, 4, 5]
# 第二个参数不是数值
[1, 2, 3].fill(0, 'a');
// [0, 0, 0]
[1, 2, 3].fill(0, true);
// [1, 0, 0]
[1, 2, 3].fill(0, false);
// [0, 0, 0]
可以看到 true
是一个比较特殊的值,在 fill
中会被当成 1
处理。
← findIndex() entries() →