如何在文本框中显示数组的前 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 这有帮助!
所以我正在创建一个 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 这有帮助!