鍍金池/ 問答/HTML/ js對數(shù)組中json的處理

js對數(shù)組中json的處理

clipboard.png

var arr = [{

            a: 1,
            b: 1
        }, {
            a: 1,
            b: 2
        }, {
            a: 2,
            b: 1
        }]

怎么把這個數(shù)組變成下面這樣
var arr1 = [{

            a: 1,
            b: 3
        },{
            a: 2,
            b: 1
        }]

如果a的值一樣就讓b相加,不一樣的話讓他重新輸出。

回答
編輯回答
假灑脫

var arr1 = [];

arr1.push(arr[0]);
for(var i=1; i<arr.length; i++){
    arr1.map(function(e,index){
        if(arr[i].a == e.a){
            e.b = e.b + arr[i].b;
        }else if(index == arr1.length-1){
            arr1.push(arr[i])
        }
    })
}
2018年5月16日 05:27
編輯回答
艷骨
var arr1 = {};
arr.map(function(item,index){
    if(arr1[item.a]){
   arr1[item.a].b = arr1[item.a].b+item.b
  }else{
    arr1[item.a]=item
  })
})
arr1 = Object.values(arr1);
2017年8月23日 06:57