var arr = [
{
class: '1',
name: 张三,
sum: 2
},
{
class: '1',
name: 张三,
sum: 7
},
{
class: '1',
name: 李四,
sum: 4
},
{
class: '1',
name: 李四,
sum: 5
},
{
class: '2',
name: 李四,
sum: 6
},
{
class: '2',
name: 王五,
sum: 4
},
]
判断 name和 class 是否都相同 相同 sum值 就相加
拿到 相加都得 值
var arrcopy = [];
for (var i = 0; i < arr.length; i++) {
var obj = {
class: arr[i].class;
name: arr[i].name;
sum: arr[i].sum;
};
for (var j = 0; j < arr.length; j++) {
if (arr[i].class == arr[j].class && arr[i].name == arr[j].name && i !== j) {
obj.sum = obj.sum + arr[j].sum;
}
}
arrcopy.push(obj);
}
console.log(arrcopy);
//再排除重复的
用ifilter方法会解决你的问题
麻烦给我点赞!!!老铁666