js数组根据对象值分类

const data =
[
  {
    '合肥': '89',
 'date': '2019年1月'
 },
 {
    '太原': '113',
 'date': '2019年1月'
 },
 {
    '合肥': '65',
 'date': '2019年2月'
 },
 {
    '太原': '91',
 'date': '2019年2月'
 },
 {
    '合肥': '56',
 'date': '2019年3月'
 },
 {
    '太原': '51',
 'date': '2019年3月'
 },
 {
    '合肥': '42',
 'date': '2019年4月'
 },
 {
    '太原': '58',
 'date': '2019年4月'
 },
 {
    '合肥': '30',
 'date': '2019年5月'
 },
 {
    '太原': '46',
 'date': '2019年5月'
 },
 {
    '合肥': '28',
 'date': '2019年6月'
 },
 {
    '太原': '39',
 'date': '2019年6月'
 },
 {
    '合肥': '26',
 'date': '2019年7月'
 },
 {
    '太原': '35',
 'date': '2019年7月'
 },
 {
    '合肥': '20',
 'date': '2019年8月'
 },
 {
    '太原': '26',
 'date': '2019年8月'
 },
 {
    '合肥': '29',
 'date': '2019年9月'
 },
 {
    '太原': '30',
 'date': '2019年9月'
 },
 {
    '合肥': '42',
 'date': '2019年10月'
 },
 {
    '太原': '50',
 'date': '2019年10月'
 },
 {
    '合肥': '41',
 'date': '2019年11月'
 },
 {
    '太原': '66',
 'date': '2019年11月'
 },
 {
    '合肥': '60',
 'date': '2019年12月'
 },
 {
    '太原': '67',
 'date': '2019年12月'
 }
]

根据日期把数据归类处理,期望结果

[
    {
       '太原':'60',
       '合肥':'44',
       'date': '2019年12月'
    },
    ....
]

大佬们帮帮忙呀

阅读 2.3k
2 个回答
Object.values([
  {
    '合肥': '89',
 'date': '2019年1月'
 },
 {
    '太原': '113',
 'date': '2019年1月'
 },
 {
    '合肥': '65',
 'date': '2019年2月'
 },
 {
    '太原': '91',
 'date': '2019年2月'
 },
 {
    '合肥': '56',
 'date': '2019年3月'
 },
 {
    '太原': '51',
 'date': '2019年3月'
 },
 {
    '合肥': '42',
 'date': '2019年4月'
 },
 {
    '太原': '58',
 'date': '2019年4月'
 },
 {
    '合肥': '30',
 'date': '2019年5月'
 },
 {
    '太原': '46',
 'date': '2019年5月'
 },
 {
    '合肥': '28',
 'date': '2019年6月'
 },
 {
    '太原': '39',
 'date': '2019年6月'
 },
 {
    '合肥': '26',
 'date': '2019年7月'
 },
 {
    '太原': '35',
 'date': '2019年7月'
 },
 {
    '合肥': '20',
 'date': '2019年8月'
 },
 {
    '太原': '26',
 'date': '2019年8月'
 },
 {
    '合肥': '29',
 'date': '2019年9月'
 },
 {
    '太原': '30',
 'date': '2019年9月'
 },
 {
    '合肥': '42',
 'date': '2019年10月'
 },
 {
    '太原': '50',
 'date': '2019年10月'
 },
 {
    '合肥': '41',
 'date': '2019年11月'
 },
 {
    '太原': '66',
 'date': '2019年11月'
 },
 {
    '合肥': '60',
 'date': '2019年12月'
 },
 {
    '太原': '67',
 'date': '2019年12月'
 }
].reduce((res,v)=>{
    res[v.date] = {...(res[v.date]||{}),...v};
    return res;
}, {}))
新手上路,请多包涵

ArrayMap 应该也可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题