在 AS3 中,Array.sort()
采用了一些不错的排序选项,例如:
- Array.DESCENDING - 将数组从大到小排序
- Array.RETURNINDEXEDARRAY - 返回一个索引数组,以便您可以跟踪哪个项目在哪里排序
但遗憾Vector<T>.sort()
的是不支持这些功能,并且只需要一个compareFunction:Function
参数,以便您可以编写自己的排序逻辑。
有没有其他方法可以快速获取向量的排序索引数组?
在 AS3 中,Array.sort()
采用了一些不错的排序选项,例如:
但遗憾Vector<T>.sort()
的是不支持这些功能,并且只需要一个compareFunction:Function
参数,以便您可以编写自己的排序逻辑。
有没有其他方法可以快速获取向量的排序索引数组?
查看文档:http ://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Vector.html#sort ()
仍然可以使用这些选项,但您必须将它们作为第一个参数而不是比较函数传递。
myVector.sort(Array.DESCENDING|Array.RETURNINDEXEDARRAY);
RETURNINDEXEDARRAY
在 Flash Player 10+ 中不起作用。它只是返回相同的原始Vector<Number>
.
与数组不同,RETURNINDEXEDARRAY
该方法忽略了选项Vector.sort()
。返回的 Vector 对象始终是原始对象的引用。