js 数组对象 判断某个属性值是否相同,另外某个属性值 相加

var arr = [
    {
        name: 张三,
        sum: 2
    },
    {
        name: 张三,
        sum: 7
    },
    {
        name: 李四,
        sum: 4
    },
    {
        name: 李四,
        sum: 5
    },
    {
        name: 李四,
        sum: 6
    },
    {
        name: 王五,
        sum: 4
    },
]

判断  name 是否相同  相同  sum值 就相加 

var arr = [
    {
        name: "张三",
        sum: 2
    },
    {
        name: "张三",
        sum: 7
    },
    {
        name: "李四",
        sum: 4
    },
    {
        name: "李四",
        sum: 5
    },
    {
        name: "李四",
        sum: 6
    },
    {
        name: "王五",
        sum: 4
    },
]
var obj = {};
arr.forEach(function(v, i){
	if (v.name in obj) {
		obj[v.name]+=v.sum;
	} else {
		obj[v.name]=v.sum;
	}
});
console.log(obj);

如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮
 

用foreach 和==就好啦。