基本用法
Array.prototype.fill()
方法可以将数组中所有指定项更改为固定值。
let names = ['zhangsan','lisi','wangwu']
names.fill('香菜')
console.log(names)
// logs ['香菜','香菜','香菜']
替换数组中的项
默认情况下,Array.fill()
方法将数组中的每个项替换掉。
但是,可以将开始索引值和结束索引值指定为可选参数,如果省掉开始索引,默认从0开始,如果省掉结束索引,将默认数组的尾部。
将上面的方法重写一下:
let names = ['zhangsan','lisi','wangwu']
names.fill('香菜', 0, 1)
console.log(names)
// logs ['香菜','lisi','wangwu']
但是,Array.splice()
方法更好,写了个寂寞
names.splice(0, 1, '香菜')
创建一个包含n项的新数组
如果想生成动态数组,可以使用new array()
构造函数创建特定长度的数组,但该数组是空的(尽管有长度),因此像Array.foreach()
和Array.map()
这样的循环方法实际上不会做任何事情。
let arr = new Array(10)
arr.forEach((item, index) => console.log(index))
let indexs = arr.map((item, index) => index)
console.log(indexs)
可以使用for
循环来解决这个问题:
let arr = []
for(let i = 0; i < 10; i++) {
arr.push(i)
}
但是这样显的很傻(KPI代码),尝试用Array.fill()
来改变一下:
let arr = new Array(10).fill(0)