美文网首页
数组去重,对象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