美文网首页
数组去重,对象id相同,对应字段相加

数组去重,对象id相同,对应字段相加

作者: Juan小宇宙 | 来源:发表于2020-01-17 14:12 被阅读0次

需求:现有一个数组assetContent,如果assetId相同,则对应的amount、drawNumber字段相加:

assetContent: [

{assetId:"3003174",expireDay:30,amount:10,name:"数字资产专属代金券",assetUnit:"张",belongType:0,drawNumber:0}

{assetId:"3003189",expireDay:53,amount:20,name:"40元贵金属代金券",assetUnit:"张",belongType:0,drawNumber:0}

{assetId:"3003174",expireDay:30,amount:20,name:"数字资产专属代金券",assetUnit:"张",belongType:0,drawNumber:0}

]

let arrList=[];

let arr=[]

assetContent.forEach((item,index)=>{

    arrList.push(item.assetId)

    arrList=[...new Set(arrList)]     

})

arrList.map((item2,index2)=>{

     let obj={

         assetId:'',

         name:'',

        expireDay:'',

        amount:0,

        drawNumber:0,

        usedNumber:0,

    };

    assetContent.map((item1,index1)=>{

              if(item2==item1.assetId){

                       obj.name=item1.name

                       obj.expireDay=item1.expireDay

                        obj.amount+=item1.amount

                         obj.drawNumber+=item1.drawNumber

                       obj.usedNumber+=item1.usedNumber

               }

       })

   arr.push(obj)

}) 

相关文章

网友评论

      本文标题:数组去重,对象id相同,对应字段相加

      本文链接:https://www.haomeiwen.com/subject/jmeczctx.html