每天温习一个JS方法之Array.fill方法 第三天

1. Array.fill描述

  1. fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。
  2. fill方法会改变数组,并且返回修改后的数组

1.2 Array.fill 语法

fill(value, start, end)

参数:

  • value:填充数组元素的值
  • start:(可选)起始索引,未填默认为0
  • end:(可选)结束索引,未填默认为arr.length

注:Array.fill(1,-3,-2),startend接受负值,而start会被自动计算成arr.length + startend会被自动计算成arr.length + end

2. Array.fill应用

2.1 Array.fill 范例

  • Array.fill(value)
let arr = [];
console.log(arr.fill({
    
     id: 1 })); // 输出 [], 空数组 依旧为空

let arr = [1, 2, 3];
console.log(arr.fill({
    
     id: 1 })); // 输出 [{id: 1},{id: 1},{id: 1}], 覆盖数组全部元素
  • Array.fill(value, start)
let arr = [1, 2, 3, 4, 5];
console.log(arr.fill(66, 2)); // 输出 [1, 2, 66, 66, 66], 从下标2开始(包括下标2元素)

let arr = [1, 2, 3, 4, 5];
console.log(arr.fill(66, 5)); // 输出 [1, 2, 3, 4, 5], 超出引用数组索引,数组则不变

let arr = [1, 2, 3, 4, 5];
console.log(arr.fill(66, -3));// 输出  [1, 2, 66, 66, 66], start = arr.length + start(start = 5 + -3 = 2)

let arr = [1, 2, 3, 4, 5];
console.log(arr.fill(66, -5));// 输出 [66, 66, 66, 66, 66], 负数>arr.length,则全部覆盖
  • Array.fill(value, start, end)
let arr = [1, 2, 3, 4, 5];
console.log(arr.fill(66, 0, 3)); // 输出 [66, 66, 66, 4, 5], 不包括结束索引3

let arr = [1, 2, 3, 4, 5];
console.log(arr.fill(66, 2, 2)); // 输出 [1, 2, 3, 4, 5], end > start, 则不会改变数组

let arr = [1, 2, 3, 4, 5];
console.log(arr.fill(66, 0, -1)); // 输出 [66, 66, 66, 66, 5], end = -1 + 5 = 4

2.2 创建数组对象并赋予初始值

let arr = new Array(3).fill(0);
console.log(arr); // 输出 [0, 0, 0]

猜你喜欢

转载自blog.csdn.net/News777/article/details/127347479