AS3:获取数组中最高值的索引

时间:2014-03-07 05:18:33

标签: actionscript-3 flash actionscript

有没有办法真正获得存储在数组中的最高值的索引?

例如

var rate:Array = [10, 15, 12];

我怎么知道数组中的最高值是否位于索引#1?

2 个答案:

答案 0 :(得分:1)

数据结构中有许多排序算法可以帮助您实现这一目标。 冒泡排序是最高的。

除此之外,您可以使用JS中的Math函数来实现相同的目标。

var highest = Math.max.apply(Math, values);
// Where 'values' is the array stored on your application.

答案 1 :(得分:1)

您只需要一个循环。将值复制到一个知道索引和值的对象数组中,然后使用sortOn方法并返回结果数组中的最后一项。

var arr:Array = [10,15,12];
var temp:Array = [];
arr.forEach( function( item:int, index:int, self:Array ) :void {
    temp[temp.length] = {index:index, value: item};
});
var result:Array = temp.sortOn( "value", Array.NUMERIC ); // returns 1