需求:按照total分数排名,如果分数(total)一样,要并列排名(sort).
原数据结构如下:
处理收的数据格式如下:
一 : es6 写法
data() {
return {
datas: [],
};
},
methods: {
rank(itemE) {
return this.datas.filter(item => {
let totalA = item.total;
let totalB = itemE.total;
return totalA > totalB;
}).length + 1
},
// 请求接口处理数据
getSort() {
let _this = this
this.datas= res.data// 后台请求接口的数据res.data
this.datas.forEach(item => {
item.sort = _this.rank(item);
})
console.log(this.datas)
},
}
二 : jQuery写法
methods: {
rank(itemE) {
return $.grep(listVM.datas, function (item, index) {
let totalA = item.total;
let totalB = itemE.total;
return totalA > totalB;
}).length + 1;
},
// 请求接口处理数据
getSort() {
listVM.datas = res.data;// 后台请求接口的数据res.data
$.each(listVM.datas, function (index, item) {
item.rankTotal = listVM.rank(item);
});
}
}