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

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

作者: 不不作为 | 来源:发表于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