猿问

如何从元素数量由 Object.values 确定的对象生成数组?

我有一个像这样的对象:

{ green: 2, blue: 1, red: 2}

我怎样才能把它变成一个看起来像这样的数组:

[ 'green', 'green', 'blue', 'red', 'red']


神不在的星期二
浏览 184回答 3
3回答

慕的地6264312

可以这样做:Object.entries(obj).flatMap(([k, v]) => Array(v).fill(k));例子:const obj = { green: 2, blue: 1, red: 2};const res = Object.entries(obj).flatMap(([k, v]) => Array(v).fill(k));console.log(res);

qq_花开花谢_0

使用reduce有Object.entries:const obj = { green: 2, blue: 1, red: 2};const res = Object.entries(obj).reduce((a, [k, v]) => (a.push(...new Array(v).fill(k)), a), []);console.log(res);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答