为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

手掌心 2019-03-20 18:19:13
数据如下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}]
查看完整描述

2 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

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)


查看完整回答
反对 回复 2019-03-31
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

使用循环


查看完整回答
反对 回复 2019-03-31
  • 2 回答
  • 0 关注
  • 1978 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信