环信获取好友列表后 ,数据格式是这样的
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
网友评论