SOURCE

console 命令行工具 X clear

                    
>
console
var arr=[
   {"name":"Mark","money":"32000"},
   {"name":"Jobs","money":"200"},
   {"name":"Jobs","money":"200"}, 
   {"name":"Bill","money":"1654"},
   {"name":"Bill","money":"1654"},
   {"name":"Jobs","money":"1000"}
 ];
var list = '';
arr = listSortBy(arr, 'name', 'desc');
 
for(var index=arr.length-1;index>0;index--){
  if(arr[index-1].name== arr[index].name){ 
    addGroupJson(arr[index-1], arr[index]);
    arr.splice(index,1);
    } 
 }
 
for(var index=0;index<arr.length;index++){
  //console.log(arr[index]);
	//return "<li>".arr[index]."</li>";
	list = list+'<li>'+arr[index].name+'的值是'+arr[index].money+'</li>';
} 
document.getElementById("export").innerHTML = list;

function addGroupJson(targetJson, packJson){
  if(targetJson && packJson){
    for(var p in packJson){
      if(p =="name") continue;
      targetJson[p]=parseInt(targetJson[p])+parseInt(packJson[p]);
    }
  }
}

function listSortBy(arr, field, order){ 
    var refer = [], result=[], order = order=='asc'?'asc':'desc', index; 
    for(i=0; i<arr.length; i++){ 
        refer[i] = arr[i][field]+':'+i; 
    } 
    refer.sort(); 
    if(order=='desc') refer.reverse(); 
    for(i=0;i<refer.length;i++){ 
        index = refer[i].split(':')[1]; 
        result[i] = arr[index]; 
    } 
    return result; 
}
<ul id="export">
</ul>
<!--
*解释说明:
首先把数组进行排序,可以进行从小到大的顺序或者从大到小的顺序排列,这样做的意义是为了使下面能够使相同名称的数据进行合并,此实例中就是把name相同的money进行合并,最后得到三个数组;
-->