美文网首页
两数组有一个共同值,通过共有的值 给对象添加对应属性

两数组有一个共同值,通过共有的值 给对象添加对应属性

作者: 不不作为 | 来源:发表于2020-07-23 11:12 被阅读0次

环信获取好友列表后 ,数据格式是这样的


image.png

这个数据里没有特定的用户头像和用户名,
所以我要携带name 属性 去请求自己的后台 获取对应的用户信息


image.png

此时需要把请求过来的数据中的name,num,photo,塞进环信返回的好友列表中

两个 数组中,环信账号是一致的 通过map 环信用户列表数据 filter 本地返回数据 进行一一对应 给环信数据里添加属性:

 let arr = userList.map((item)=>{
                    return {
                      /*通过 ES6 '...' 展开数据*/
                      ...item,
                      username:res.data.filter(v=>item.name==v.wx_number)[0].name,/*通过filter 过滤器过滤符合要求的数据并添加到arr新数组里*/
                      userImg:res.data.filter(v=> item.name==v.wx_number)[0].photo,
                      userLove:res.data.filter(v=>item.name==v.wx_number)[0].num
                    }
                  })
                  /*给好友列表排序*/   //本地数据中  num代表亲密度  亲密度越高  好友排名越靠前   从大到小排列
                  function compare(property){
                    return function(a,b){
                      var value1 = a[property];
                      var value2 = b[property];
                      return value2 - value1;
                    }
                  }
                  arr.sort(compare('userLove'))

效果图:


image.png

相关文章

网友评论

      本文标题:两数组有一个共同值,通过共有的值 给对象添加对应属性

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