json数组把相同key 值合并,value相加

数据如下


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

想要得到的json数据


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


手掌心
浏览 1979回答 2
2回答

守着星空守着你

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)

胡说叔叔

使用循环
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript