JS中Array.fill()方法
程序员文章站
2022-03-01 17:02:02
...
<script>
// fill()方法用一个固定值填充一个数组中从其实索引到中终止索引内的全部元素,不包括终止索引。
// 语法:arr.fill(value,start,end)
// value: 用来填充数组元素的值
// start: 起始索引,默认值为0
// end: 终止索引,默认值为this.length,如果不填的话,就包括终止索引
// 注: 1.返回修改后的数组
// 2.如果start为负数,则开始索引被计算为length+start
// 3.如果end为负数,则结束索引被计算为length+end
// 4.start和end参数是可选的,默认值分别为0和arr.length
// 5.当一个对象被传递给fill方法时,填充数组的是这个对象的引用
//const arr = [1, 2, 3, 4]
//console.log(arr.fill(0, 2, 4)); //[1,2,0,0]
// 从索引0开始,到索引2结束,不包括终止索引,将值替换为4
//console.log(arr.fill(5, 1)); // [1,5,5,5]
//console.log(arr.fill(6)); // [6,6,6,6]
// 示例
// [1, 2, 3].fill(4); // [4, 4, 4]
// [1, 2, 3].fill(4, 1); // [1, 4, 4]
// [1, 2, 3].fill(4, 1, 2); // [1, 4, 3]
// [1, 2, 3].fill(4, 1, 1); // [1, 2, 3]
// [1, 2, 3].fill(4, 3, 3); // [1, 2, 3]
// [1, 2, 3].fill(4, -3, -2); // [4, 2, 3]
// [1, 2, 3].fill(4, NaN, NaN); // [1, 2, 3]
// [1, 2, 3].fill(4, 3, 5); // [1, 2, 3]
// console.log(Array(3).fill(4)); // [4,4,4]
// console.log([].fill.call({ length: 3 }, 4)); // {0: 4, 1: 4, 2: 4, length: 3}
// A.call(B,x,y) => 就是把A的函数放到B中去运行,x,y是A方法的参数
// var arr = Array(3).fill({}) // [{}, {}, {}];
// 需要注意如果fill的参数为引用类型,会导致都执行同一个引用类型
// console.log(arr[0] === arr[1]); //true
</script>
上一篇: Swift 基础
下一篇: ES6基础之Array.fill函数