【发布时间】:2015-06-22 05:13:48
【问题描述】:
我正在创建一个简单的视频游戏排行榜,它将根据预先设定的分数对用户得分进行排名,这将根据他们的排名从最高到最低。
<html>
<!Foundation Page for building our Javascript programs>
<head>
<title>The Foundation Page </title>
<script type="text/javascript">
function leaderboard()
{
var leaderboardarray = new Array (5);
var n, temp;
ok=false;
var score
var rank
score = 150
leaderboardarray[1] = 50;
leaderboardarray[2] = 60;
leaderboardarray[3] = 180;
leaderboardarray[4] = 120;
leaderboardarray[5] = score;
while(!ok)
{
ok = true
for (n=1; n<=5; n=n+1)
{
if (leaderboardarray [n]<leaderboardarray [n-1])
{
leaderboardarray [n] = leaderboardarray [n-1];
ok = false;
}
}
}
for (n=5; n>=1; n=n-1)
document.write (leaderboardarray [n] + "<br>");
}
</script>
</head>head>
<body BGCOLOR="WHITE">
<h2>The Foundation Page </h2>
<hr>
<script LANGUAGE="Javascript"> leaderboard() </script>
</body>
</html>
它正常输出数组,但我被困在数组如何输出从最高到最低的值。当我在它后面放置一个高于任何其他值的值时,它只会产生相同的值。当我将其中一个值更改为是否有人建议我应该怎么做时,将不胜感激。如果我做任何愚蠢的事情,我还是编程新手,很抱歉。谢谢!
【问题讨论】:
-
使用
Array.prototype.sort() -
Array.prototype.sort 在 MDN 上
-
专业提示:不要在代码中使用
document.write和bgcolor。这不是您在 HTML 中编写评论的方式。 (第二行) -
我稍微清理了你的代码。我认为这不会影响任何事情,但您的所有标签都是大写的。我不确定这在技术上是否不正确,但绝对是非常规的。除此之外,您还忘记关闭 head 标签。我解决了这几个问题。如果你是编程新手,最重要的是你要养成良好的习惯,所以可能要仔细检查标签 HTML 语法约定。
标签: javascript arrays sorting leaderboard