AS3 Vector.sort()不采用排序选项?

时间:2012-06-20 17:23:23

标签: actionscript-3 sorting flash

在AS3中,Array.sort()采用了一些不错的排序选项,如:

  • Array.DESCENDING - 将数组从大到小排序
  • Array.RETURNINDEXEDARRAY - 返回一个索引数组,以便您可以跟踪哪个项目已排序到哪里

但遗憾的是Vector<T>.sort()不支持这些功能,只需要一个compareFunction:Function参数就可以编写自己的排序逻辑。

有没有其他方法可以快速获取向量的已排序索引数组?

2 个答案:

答案 0 :(得分:8)

查看文档:{​​{3}}()

仍然可以使用这些选项,但您必须将它们作为第一个参数而不是比较函数传递。

 myVector.sort(Array.DESCENDING|Array.RETURNINDEXEDARRAY);

答案 1 :(得分:5)

RETURNINDEXEDARRAY在Flash Player 10+中不起作用。它只返回相同的原始Vector<Number>

与数组不同,RETURNINDEXEDARRAY方法忽略Vector.sort()选项。返回的Vector对象始终是原始对象的引用。