猿问

如何遍历一个数组,若数组中对象值相等,把数组中的对象合并

1.遍历一个数组,若数组中对象值相等,把数组中的对象合并

//数组解构var a = [
    {
      date:'2018-7-24',      value:2
    },
    {
      date:'2018-7-24',      value:5
    },
    {
      date:'2018-7-25',      value:5
    },
    {
      date:'2018-7-25',      value:5
    },
]//期望结果res = [
    {
      date:'2018-7-24',      value:7
    },
    {
      date:'2018-7-25',      value:10
    },

]

想破头还是不会不知道有没有人有比较好的方法,感激不尽!!!


湖上湖
浏览 1694回答 1
1回答

四季花海

// 创建映射 var map = a.reduce((p, c) => [p[c.date] = p[c.date] || 0, p[c.date] += c.value, p][2], {}) // 获取映射结果 var res = Object.keys(map).map(key => [{date: key, value: map[key]}][0])
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答