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



是否有任何方法可以实际获取数组中存储的最高值的索引?

例如

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

我将如何知道数组中最高值是否位于索引#1?

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

除此之外,您可以使用JS中的数学功能实现相同的功能。

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

您只需要一个循环。将值复制到知道索引和值的对象数组中,然后使用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

最新更新