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

How to display the top 3 biggest values of an array in a textbox?

所以我正在创建一个 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

我该怎么做?谢谢。

快速 Google 搜索将为您提供以下内容

tempArray.sort(Array.NUMERIC);

sort 方法根据其参数对数组中的值进行排序。 这里我们使用 Array.NUMERIC 参数按数字排序 values.also 我们推 Array.DESCENDING 参数将值从最大排序到 smallest.That 使得更容易访问前三个值:

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];

我H☺P E 这有帮助!