我有一个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");
}
}
识别TestClass
public class TestClass
{
public function TestClass(testi:int, tests:String)
{
this.stest = tests;
this.itest = testi
}
public var stest:String;
public var itest:int;
}
答案 0 :(得分:0)
不幸的是sortOn
没有Vectors
但是有一种排序。所以,如果你这样做:
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将导致升序。