鍍金池/ 問答/HTML/ json數(shù)組把相同key 值合并,value相加

json數(shù)組把相同key 值合并,value相加

數(shù)據(jù)如下

var arr = [{name: "上海", value: 1},{name: "上海", value: 2},{name: "北京", value: 3},{name: "杭州", value: 2}]

想要得到的json數(shù)據(jù)

arr = [{name: "上海", value: 3},{name: "北京", value: 3},{name: "杭州", value: 2}]
回答
編輯回答
蔚藍色

使用循環(huán)

。。。。。。。。。。。。。。。

2017年10月28日 18:46
編輯回答
瞄小懶
function trans (arr) {
  let obj = {}
  let result = []
  arr.forEach(({name, value}) => {
    let cur = obj[name]
    if (cur) {
      let index = cur.index
      result[index].value += value
    } else {
      let index = result.length
      obj[name] = {
        name,
        index
      }
      result.push({name, value})
    }
  })
  return result
}
var arr = [{name: "上海", value: 1},{name: "上海", value: 2},{name: "北京", value: 3},{name: "杭州", value: 2}]
trans(arr)
2017年8月7日 11:58