我已经编写了这段代码,但它不起作用。它显示未排序的数组以及按钮,但是当我单击按钮时没有任何反应。 我是 javascript 的新手。目前我所知道的是我们可以通过 javascript 使用 onclick 方法调用函数。我们可以像在 c 或 c++ 中编写函数一样编写函数。这就是我认为我在这里所做的,但它没有显示排序的数组。
var myarray = [4, 6, 2, 1, 9, ];
document.getElementById("demo").innerHTML = myarray;
function sort(myarray) {
var count = array.length - 1,
swap,
j,
i;
for (j = 0; j < count; j++) {
for (i = 0; i < count; i++) {
if (array[i] > myarray[i + 1]) {
swap = myarray[i + 1];
myarray[i + 1] = myarray[i];
myarray[i] = swap;
}
}
document.write(myarray);
}
}
<p>Click the button to sort the array.</p>
<button onclick="sort()">Try it</button>
<p id="demo"></p>
最佳答案
主要问题是,决定是否应该设置一个参数。如果不是,则使用 myarray
进行所有操作。如果您决定使用参数,则仅使用参数变量。
var myarray = [4, 6, 2, 1, 9, ];
document.getElementById("demo").innerHTML = myarray;
function sort() { // no need for a parameter
var count = myarray.length - 1, // change it to myarray
swap,
j, i;
for (j = 0; j < count; j++) {
for (i = 0; i < count; i++) {
if (myarray[i] > myarray[i + 1]) { // access only myarray
swap = myarray[i + 1];
myarray[i + 1] = myarray[i];
myarray[i] = swap;
}
}
}
document.getElementById("demo").innerHTML = myarray; // return the sorted array
}
<p>Click the button to sort the array.</p>
<button onclick="sort()">Try it</button>
<p id="demo"></p>
关于javascript - 使用 javascript 中的 sort 方法对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36246613/