數組嵌套對象,將相同屬性去重,對應的某個屬性值合並


 

var data = [
    { province: 1, index:1},
    { province: 2, index:3},
    { province: 1, index:3},
    { province: 2, index:2}
]

 

 

 

 想要得到的格式

{ province: 1, index:4},
{ province: 2, index:5}

實現過程

function mergeArr(arr){
    var newArr=[];
        arr.forEach(item=>{
        var dataItem =item
            if(newArr.length>0){
                var filterValue = newArr.filter(v=>{
                   return v.province == dataItem.province
                })
                if(filterValue.length>0){
                    newArr.forEach(n=>{
                       if( n.province ==filterValue[0].province){
                           n.index =  Number(filterValue[0].index) + Number(dataItem.index)
                       } 
                    })
                }else{
                    newArr.push(dataItem)
                }
            }else{
                newArr.push(dataItem)
            }
    
    })
    return newArr
    }

調用

mergeArr(data)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM