Javascript 由Object 生成新的Object

benniu
  • 32

原Obj 为

  {'2020-01':1000,
  '2020-02':2000,
  '2020-02':3000}

现在想转成类似下面的数据方式:

{'month':['2020-01','2020-02','2020-03'],
 'sales':[1000,2000,3000]
 }

我土人只能用土办法loop了。
但想和大家学习一下是否有简洁的那种一二行就搞定的写法。

回复
阅读 122
2 个回答
✓ 已被采纳
Object.entries({
  '2020-01':1000,
  '2020-02':2000,
  '2020-03':3000
}).reduce((res,[key,value]) => {
    res.month.push(key);
    res.sales.push(value)
    return res;
}, {month: [], sales: []})

// 另一种楼上已经说了
//const result = {
//    month: Object.keys(data),
//    sales: Object.values(data),
//}
你知道吗?

宣传栏