我只是想做这个简单的事情(创建一个数字数组,然后获取同一数组中第二大的数字),但我不明白为什么它不能将选定的数字从一个数组推送到第二个数组中(应从中打印出第二大的数字)。
var cisla = [];
var i = 0;
for(var i=0; i<5; i++){
var x = prompt("Put " + (i+1) + ". number");
cisla[i] = x;
}
var p = document.createElement("p");
p.innerHTML = "Your array: " + cisla;
document.getElementsByTagName("body")[0].appendChild(p);
var najvacsie;
var index;
var cisla2 = [];
var dlzka = cisla.length;
while(i<dlzka){
najvacsie = cisla[0];
for(var x=0; x<cisla.length; x++){
if(najvacsie < cisla[x]){
najvacsie = cisla[x];
index = cisla.indexOf(najvacsie);
}
}
cisla2.push(najvacsie);
cisla.splice(index, 1);
i++;
}
var pp = document.createElement("p");
pp.innerHTML = "Ordered array: " +cisla2;
document.getElementsByTagName("body")[0].appendChild(pp);
var ppp = document.createElement("p");
ppp.innerHTML = "The 2nd biggest number of your array is: " + cisla2[1];
document.getElementsByTagName("body")[0].appendChild(ppp);
while
循环之前添加i = 0;
。 - Prerak SolaArray.prototype.sort()
不是更方便吗? - Nina Scholz