js两个数组对象合并,并去重

数组对象的合并,并去重

   var arr =[{
                fromeid:"10",
                fromeavater:"http://www.zhiyioa.com/public/static/imgs/avatar.jpg",
                content:"嘿嘿",
                toavater:"http://www.zhiyioa.com/public/static/imgs/avatar.jpg",
                toid:"2",
                tousername:"前端2",
                type:"friend"
                },{
                    fromeid:"10",
                    fromeavater:"http://www.zhiyioa.com/public/static/imgs/avatar.jpg",
                    content:"哈哈哈",
                    toavater:"http://www.zhiyioa.com/public/static/imgs/avatar.jpg",
                    toid:"5",
                    tousername:"张三",
                    type:"friend"
                }]
            
              var  data = [{
                    fromid:"2",
                    count:"5"
                }]

        // 数组去重
        function arrayremovl(arr,data){
            var arraydata = [];
            for(let i = 0; i < arr.length; i++){
                for(let j = 0; j < data.length; j++){
                    if(arr[i].fromid === data[j].toid){
                 arraydata.push({
                     toid : arr[i].toid,
                     tousername : arr[i].tousername,
                     type : arr[i].type,
                     toavatar : arr[i].toavater,
                     content : arr[i].content,  
                     count : data[j].count
                 })
                }
             }
            }
            let hash = {};
            const newArr = arraydata.reduceRight((item, next) => {
             hash[next.toid] ? '' : hash[next.toid] = true && item.push(next);
                     return item
              }, []);
              return newArr
            }
          

           console.log(JSON.stringify(arrayremovl(arr,data)))
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值