我有一个像这样的对象:{ green: 2, blue: 1, red: 2}我怎样才能把它变成一个看起来像这样的数组:[ 'green', 'green', 'blue', 'red', 'red']
3 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
可以这样做:
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
TA贡献1835条经验 获得超7个赞
使用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);
添加回答
举报
0/150
提交
取消