关于AS3中Vector的sort排序

2020-01-08 16:58:35 浏览数 (1)

 先上2个代码

代码语言:javascript复制
private function sortRank(x:RankPlayerModel, y:RankPlayerModel):Number
  {
   var lastNameSort:Number = sortNum(x.value, y.value);
   if (lastNameSort != 0){
    return lastNameSort;
   }
   else{
    return sortNum(x.value, y.value);
   }
  }

注意 :

代码语言:javascript复制
return sortNum(x.value, y.value);

这是 else 中的一句 : 这一句的理解 是 可以 用第二个字段继续比较 如:

代码语言:javascript复制
return sortNum(x.money, y.money);

依次类推...第三个比较字段 , 第四个比较字段...

/**

这么写就是降序了

*/

代码语言:javascript复制
private function sortNum(x:Number, y:Number):Number{
 if (x < y){
  return 1;
 }
 else if (x > y){
  return -1;
 }
 else{
  return 0;
 }
}

调用 $back.sort(sortRank);  注 : $back 是 vector.<RankPlayerModel>类型的

因为  Vector 比 Array 的 性能要高 , 但是 Vector 没有 Array 的sorton功能 , 那 只有自己  写一个 排序的 方法了

0 人点赞