数组排序功能

时间:2015-05-14 09:50:17

标签: javascript arrays count increment

我想知道我的节目有什么问题。我有语法错误或我在我的构建数组排序中遗漏了什么?我很确定问题出在" for"循环,但我似乎无法找到它。一些建议或帮助会很棒。



<HTML>
<!Foundation Page for building our Javascript programs>
<HEAD>
<TITLE>The Foundation Page </TITLE>
<SCRIPT LANGUAGE = "JavaScript">
function leaderboard()
{
var temp1;
var temp2;
var temp3;
var temp4;
var temp5;

temp1 = 10
temp2 = 20
temp3 = 30
temp4 = 40
temp5 = 50

var leader = new Array(5);

	leader[0] = temp1;
	leader[1] = temp2;
	leader[2] = temp3;
	leader[3] = temp4;
	leader[4] = temp5; 
	
	leader.sort(function(a,b){return b-a});
	var myContent = '';
	for (var d=0;d<5;d++)
	{
		myContent += "score:  " + leader[d] + "<BR>";
	}
	document.getElementById("leaderboard").innerHTML = myContent;
}

</SCRIPT>
<HEAD>
<BODY>
<BODY BGCOLOUR = "WHITE">
<H2>The Foundation Page </H2>
<HR>
<SCRIPT LANGUAGE = "Javascript"> leaderboard() </SCRIPT>
</BODY>
</HTML>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您正在尝试将o / p写入ID为leaderboard的元素,该元素不在页面中。哪个是错误Uncaught TypeError: Cannot set property 'innerHTML' of null - 这不是语法错误。

所以只需创建一个ID为leaderboard的元素,如下所示

<HTML>
<!Foundation Page for building our Javascript programs>
<HEAD>
<TITLE>The Foundation Page </TITLE>
<SCRIPT LANGUAGE = "JavaScript">
function leaderboard()
{
var temp1;
var temp2;
var temp3;
var temp4;
var temp5;

temp1 = 10
temp2 = 20
temp3 = 30
temp4 = 40
temp5 = 50

var leader = new Array(5);

    leader[0] = temp1;
    leader[1] = temp2;
    leader[2] = temp3;
    leader[3] = temp4;
    leader[4] = temp5; 

    leader.sort(function(a,b){return b-a});
    var myContent = '';
    for (var d=0;d<5;d++)
    {
        myContent += "score:  " + leader[d] + "<BR>";
    }
    document.getElementById("leaderboard").innerHTML = myContent;
}

</SCRIPT>
<HEAD>
<BODY>
<BODY BGCOLOUR = "WHITE">
<H2>The Foundation Page </H2>
<HR>
<div id="leaderboard"></div>
<SCRIPT LANGUAGE = "Javascript"> leaderboard() </SCRIPT>
</BODY>
</HTML>

演示:Fiddle