数组的fill()
所处场景:对数组进行值的替换
js
fill(a)
// 原数组中没有给定长度,没有数据可以替换,所以结果仍为空数组
var arr1 = []
arr1.fill(2)
console.log(arr1) // []
// 当一个参数的值为数值时:
var arr2 = ['x', 'y', 'z']
arr2.fill(6)
console.log(arr2) // [ 6, 6, 6 ] 将数组的每一项都替换为6
var arr3 = new Array(5)
arr3.fill(6)
console.log(arr3) // [ 6,6,6,6,6 ] 将数组的5项都填充为6
// 当一个参数的值为对象时:
let info = {
name: '姓名',
age: '年龄',
sex: '性别',
}
let arr6 = Array(3).fill(info)
console.log(arr6)
// 以json字符串的形式返回填充后的信息
[
{ name: '姓名', age: '年龄', sex: '性别'},
{ name: '姓名', age: '年龄', sex: '性别'},
{ name: '姓名', age: '年龄', sex: '性别'}
]
fill(a,b,c)
当其接受三个参数时,表示对数据的某些数据项进行替换。
a表示替换的元素,b是起始位置(其参数表示数组中的下标),c是结束位置
(注意:其参数表示结束位置,但不包括此位置)
var arr4 = [1, 1, 1]
arr4.fill(3, 1, 4)
console.log(arr4) // [ 1, 3, 3 ] 当结束位置大于数组长度,可忽略不计
var arr5 = [1, 2, 3, 4, 5, 6]
arr5.fill(7, 2, 5)
console.log(arr5) // [ 1, 2, 7, 7, 7, 6 ] 当结束位置小于数组长度,结束位置后面的数据项保持不变