let dataDemo = { friendDatas:[], InitData:(res)=>{ console.log("获取朋友数据", res); dataDemo.friendDatas = res.data; }, sortDataList(check) { // 使用解构赋值简化访问 const { friendDatas, selfItem } = dataDemo; // 一次性处理所有好友数据 dataDemo.data = friendDatas.map(friend => { const rankScore = dataDemo.getKVDataValue(friend.KVDataList, check); const passtime = Math.floor(rankScore / 21); const strpass = rankScore <= 21 ? rankScore + '关': `全通${passtime}次`; const item = { rankScore, rankDesc: strpass, avatarUrl: friend.avatarUrl, nickname: friend.nickname, openid: friend.openid }; // 检查是否是当前用户 if (selfItem.openid === friend.openid) { selfItem.rankScore = rankScore; selfItem.rankDesc = strpass; } return item; }); // 按分数降序排序 dataDemo.data.sort((a, b) => b.rankScore - a.rankScore); // 查找当前用户排名 dataDemo.selfRankIdx = dataDemo.data.findIndex(item => item.openid === selfItem.openid ); console.log("selfRankIdx", dataDemo.selfRankIdx); }, getKVDataValue(KVDataList,check){ let idx = KVDataList.findIndex((value,idx)=>{ return value.key == check; }) if(idx>=0){ return +KVDataList[idx].value; }else{ return 0 } }, setSelfUserInfo(useinfo){ dataDemo.selfItem.avatarUrl = useinfo.avatarUrl; dataDemo.selfItem.nickname = useinfo.nickname; dataDemo.selfItem.openid = useinfo.openid; }, data: [ /* { rankScore: 0, avatarUrl: '', nickname: '', }, */ ], selfRankIdx:-1, selfItem:{ avatarUrl:"openDataContext/image/avatar.png", nickname:"游客", openid:"", rankScore:0, } }; export default dataDemo;