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;
    }
})
          

再次打印数据,分数相同名次也相同了

 

posted @ 2021-04-08 16:21  橙子不是orange  阅读(933)  评论(0编辑  收藏  举报