ActionScript:如何根据 int 对类向量进行排序

Posted

技术标签:

【中文标题】ActionScript:如何根据 int 对类向量进行排序【英文标题】:ActionScript: How to sort a class vector based on int 【发布时间】:2015-09-03 11:41:29 【问题描述】:

我有一个 TestClass 对象的向量,我想根据每个 TestClass 对象的整数升序排列。我该怎么做?

主要方法:

public class testSave extends Sprite
    
        public function testSave()
        
            var testVector:Vector.<TestClass> = new Vector.<TestClass>;

            testVector.push(new TestClass(5, "Testing"), new TestClass(2, "HelloWorld"), new TestClass(7, "Ohai");


        
    

测试类

public class TestClass

    public function TestClass(testi:int, tests:String)
    
        this.stest = tests;
        this.itest = testi
    

    public var stest:String;
    public var itest:int;



【问题讨论】:

【参考方案1】:

不幸的是,Vectors 没有 sortOn,但有一个排序。所以如果你这样做:

public function testSave():void 
  var testVector:Vector.<TestClass> = new Vector.<TestClass>;

  testVector.push(new TestClass(5, "Testing"), new TestClass(2, "HelloWorld"), new TestClass(7, "Ohai"));

  testVector.sort(function(a:TestClass, b:TestClass):Boolean 
    return a.itest > b.itest;
  );

  // confirm the vector is now sorted
  for (var i = 0; i < testVector.length; i++)
    trace(testVector[i].itest);
  

您的矢量将排序。 Vector.sort 采用排序函数,它比较两个值,然后在遍历数组时计算出如何交换它们...

检查a是否大于b将导致升序。

【讨论】:

以上是关于ActionScript:如何根据 int 对类向量进行排序的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ActionScript 中重载函数?

C++ 如何使用 Socket 类向 HTTP 服务器发送数据和接收响应

在 ActionScript 中使用动态数组?

java 父类向子类转型的问题

当 UITextField 被填充时,从一个类向视图控制器发送信号或触发函数

我应该对类中的所有值使用 setValues 吗?