0
点赞
收藏
分享

微信扫一扫

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}]

实现方法

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)

举报

相关推荐

0 条评论