问了同行,都说排名这个是后端做,前端负责渲染页面就好了,但是我这个后端说不帮我处理,自己想办法,原因是后端处理起来,数据会很慢
this.returnData.forEach((r, index) => {
r.rank = index + 1;
});
// 有条件去查询的话,直接将返回的returnData
if (!params.cityCode && !params.mobile && !params.realName) {
this.returnDataAll = this.returnData;
}
this.returnDataAll.forEach((r) => {
this.returnData.forEach((rr) => {
if (r.userId == rr.userId) {
rr.rank = r.rank;
}
});
});
思路
:设了中间变量,将返回的的returnData的这个数组,处理自定义一个前端的排名的字段rank
,利用唯一不变的每条数据的userId查到相等的那条数据,然后进行赋值,页面中循环的数组是returnData
数组
代码中两层forEach
循环,里面那层应该可以用 filter
数组方法来筛选。