为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

神不在的星期二 2021-06-30 09:57:28
我有一个像这样的对象:{ 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);


查看完整回答
反对 回复 2021-07-08
?
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);


查看完整回答
反对 回复 2021-07-08
  • 3 回答
  • 0 关注
  • 183 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信