//老数组list
var list = [{
name: 'a', num: 1
}, {
name: 'b', num: 1
}, {
name: 'c', num: 6
}, {
name: 'a', num: 3
}, {
name: 'a', num: 1
}];
var allArr = [];//新数组
for (var i = 0; i < list.length; i++) {
var flag = true;
for (var j = 0; j < allArr.length; j++) {
if (list[i].name == allArr[j].name) {
flag = false;
allArr[j].num = allArr[j].num + list[i].num;
};
};
if (flag) {
allArr.push(list[i]);
};
};
//封装一个排序的方法:compare()
function compare(property) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
console.log(allArr.sort(compare('num')));