Javascript Can';我看不到输出
下面的代码是一个带有JS的简单HTML页面,它将使用插入排序对5个数字进行排序。问题是输出无法打印Javascript Can';我看不到输出,javascript,html,arrays,sorting,insertion-sort,Javascript,Html,Arrays,Sorting,Insertion Sort,下面的代码是一个带有JS的简单HTML页面,它将使用插入排序对5个数字进行排序。问题是输出无法打印 <html> <script> function Ascending() { var array = new Array(); array[0]=document.getElementById("1").value; array[1]=document.getElementById("2").value; arr
<html>
<script>
function Ascending()
{
var array = new Array();
array[0]=document.getElementById("1").value;
array[1]=document.getElementById("2").value;
array[2]=document.getElementById("3").value;
array[3]=document.getElementById("4").value;
array[4]=document.getElementById("5").value;
var j, temp;
for (var i = 1; i < array.length; i++){
temp = array[i];
j = i - 1;
while ((j >= 0) && (temp < array [j]))
{
array[j + 1] = array[j];
j--;
}
array[j + 1] = temp;
}
for (var i = i; i <array. length; i++)
{
var output =document.getElementById("display");
output.innerHTML+=numbers[i]+ ' , ';
}
}
</script>
函数升序()
{
var数组=新数组();
数组[0]=document.getElementById(“1”).value;
数组[1]=document.getElementById(“2”).value;
数组[2]=document.getElementById(“3”).value;
数组[3]=document.getElementById(“4”).value;
数组[4]=document.getElementById(“5”).value;
变量j,温度;
对于(变量i=1;i=0)和&(temp
如果您可以给我一些建议和反馈:)有许多打字错误给您带来了麻烦。看起来有些变量被重命名了,但您没有重命名所有出现的变量。另外,您将以
i=i
而不是i=0
开始最后一个循环
// was: pos = i - 1;
// should be:
j = i - 1;
// was: for (var i = i; i <array. length; i++)
// should be:
for (var i = 0; i <array.length; i++)
// was: output.innerHTML+=numbers[x]+ ' , ';
// should be:
output.innerHTML += array[i] + ' , ';
//was:pos=i-1;
//应该是:
j=i-1;
//was:for(var i=i;i作为旁白-我意识到您只是在代码中练习排序例程-如果您想:
function Ascending() {
// use class names and you can grab all the input elements at once
var inputs = document.getElementsByClassName('number');
// convert the arrayList to a normal array
var arr = Array.prototype.slice.call(inputs);
// create a new array containing only the values
var valArr = arr.map(function (el) { return el.value; });
// create a string from the sorted and joined array of numbers
var str = valArr.sort(function (a, b) { return a - b; }).join(', ');
// output the string
var output = document.getElementById('display');
output.innerHTML = str;
}
首先考虑变量“j”如何获得其初始值。非常感谢。是的,我实际上重命名了该变量,因为该代码是冒泡排序的原始代码,我不想混淆,因为我计划在一个html中混合使用这两种排序。对不起,我的错误。
function Ascending() {
// use class names and you can grab all the input elements at once
var inputs = document.getElementsByClassName('number');
// convert the arrayList to a normal array
var arr = Array.prototype.slice.call(inputs);
// create a new array containing only the values
var valArr = arr.map(function (el) { return el.value; });
// create a string from the sorted and joined array of numbers
var str = valArr.sort(function (a, b) { return a - b; }).join(', ');
// output the string
var output = document.getElementById('display');
output.innerHTML = str;
}