如何在文本框中显示数组的前3个最大值?

时间:2015-08-08 05:12:29

标签: arrays actionscript-3 flash max textfield

所以我正在创建一个Flash游戏,我将分数保存在sharedObject中。我已成功将分数保存到数组中。这是代码:

import flash.net.SharedObject;
var shared:SharedObject = SharedObject.getLocal("sharedmean");
var tempArray:Array = new Array();

if (shared.data.score) {
 tempArray = shared.data.score;
}

tempArray.push(scoreTotal);
shared.data.score = tempArray;

trace(tempArray);
shared.flush();
shared.close();

并且跟踪结果是:

500,100,0,100,100,0,300

我创建了高分文本框,并希望显示该数组中的3个最大值。 我希望文本框显示:

Highscore 1: 500
Highscore 2: 300
Highscore 3: 100

我该怎么办?谢谢。

2 个答案:

答案 0 :(得分:1)

sort方法根据其参数对数组中的值进行排序。 在这里,我们使用Array.NUMERIC参数来按数值排序。我们还推送Array.DESCENDING参数从最大值到最小值排序值。这样可以更轻松地访问前三个值:

tempArray.sort(Array.NUMERIC | Array.DESCENDING);
//don't forget to push " | " between parameters

现在

textField.text= "Highscore 1:"+tempArray[0]+"\n Highscore 2:"+tempArray[1]+"\n Highscore 3:"+tempArray[2];

我这是有帮助的!

答案 1 :(得分:0)

快速谷歌搜索可以获得以下

tempArray.sort(Array.NUMERIC);