最近,我对自己的代码出了什么问题感到很困惑。
问题:我想在每次在输入字段中输入整数时进行冒泡排序。
结果应为:1、2、3、4、5、6、7、8、9、10>,但每次我输入两位数字时。 1和10的结果将是
错误结果:1、10、2、3、4、5、6、7、8、9
var array = [];
function newfunction(){
var newArray = . document.getElementById("number").value
array.push(newArray);
console.log(array);
for( var i = 0; i < array.length; i++){
for (var j = array.length; j>1; j++){
if(parseInt(array[i-1]) < parseInt(array[i])){
var temp = array[i-1];
array [i-1] = array [i];
array[i]=temp;
}
}
}
}
答案 0 :(得分:0)
var array = [];
function newfunction(){
array.push(document.getElementById("number").value);
for (var i = 0; i < array.length; i++) {
for (var j = 0; j < (array.length - i - 1); j++) {
if(parseInt(array[j]) > parseInt(array[j+1])) {
var tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
}
}
}
console.log(array);
}
<input type="text" id="number" onblur="newfunction()"/>
看看这段代码。它用气泡排序对数组排序。
您必须在输入中键入数字,然后按Tab键或在外部单击以将数字添加到数组中,然后查看排序结果。