关于AS3中Vector的sort排序

发布时间:2019-09-03 08:55:16编辑:auto阅读(1605)

     先上2个代码


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


    注意 :

    return sortNum(x.value, y.value);

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

    return sortNum(x.money, y.money);

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

    /**

    这么写就是降序了

    */

    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功能 , 那 只有自己  写一个 排序的 方法了

关键字