如何在简洁的一行初始化语句中用n个不同的空数组填充一个新数组?



这就是我卡住的地方。我想采用这条语句并修改它,使我填充的空数组(我推测可能不适用于动态值)将bucket初始化为n个不同的空数组。

我该怎么做?是否有一种方法使这个填充方法的行为在预期的方式?

let radix = 10;
let badBucket = [...Array(radix).fill([])];
let goodBucket = JSON.parse(JSON.stringify([...Array(radix).fill([])]));
badBucket[3].push(33);
goodBucket[3].push(33);
console.log(JSON.stringify(badBucket));
console.log(JSON.stringify(goodBucket));

可以使用Array.from的回调函数

let length = 5;
let res = Array.from({length}, _=>[]);
console.log(res);

尝试:

let radix = 10;
let bucket = [...Array(radix)].map(e=>[])
bucket[0].push(1)
console.log(JSON.stringify(bucket));

最新更新