JS根据分数,计算名次(分数相同名次相同)
一开始的接口返回数据(数据已经拍好顺序,但是分数相同名次不同),如果数据未排序,先用sort排序,由大到小
分数相同名次相同,则需要以下操作即可
let prescore = 0;//初始分数 let ranking = 0;//初始排名 let same = 0; //是否相同 this.list2.forEach((item,index)=>{ if(item.count==prescore){ item.ranking = ranking; same++; }else{ ranking = ranking + same; ranking++; prescore = item.count; same=0; item.ranking = ranking; } })
再次打印数据,分数相同名次也相同了