如果要计算的属性只需要一条语句,那就很简单了
let object = {
array: new Array(10)
};
或者我也可以执行以下操作(尽管我不太喜欢)
let object = {};
object.array = new Array(10);
但是如果我想(例如)用 0 值初始化数组(默认情况下这些值是“未定义的”)怎么办?我只能用第二种方法了
let object = {};
object.array = new Array(10);
for(let element of array){
element = 0;
}
最接近第一个想到的方法可能是这样做
let object = {
array: (function(){
let array = new Array(10);
for(let element of array){
element = 0;
}
return array;
})()
}
也许有一种我不知道的更简单的方法?
只需使用Array.fill:
let object = {
array: Array(10).fill(0)
}
console.log(object)
或者,进行稍微复杂的数组初始化:
let object = {
array: Array(10).fill().map((_,i) => `hello ${i}`)
}
console.log(object)
fill
用 0
填充数组,如下所示:
Array 实例的
方法将数组中索引范围内的所有元素更改为静态值。它返回修改后的数组。fill()
let object = {
array: Array(10).fill(0)
};
console.log(object);
Array.from
用作:
静态方法从可迭代或类似数组的对象创建一个新的浅复制数组实例。Array.from()
let object = {
array: Array.from({ length: 10 }).fill(0)
};
console.log(object);