使用javascript中的sort方法对数组进行排序

8 javascript arrays sorting

我写了这段代码,但它没有用.它显示未排序的数组以及按钮,但是当我点击按钮时没有任何反应.我是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);
  }
}
Run Code Online (Sandbox Code Playgroud)
<p>Click the button to sort the array.</p>
<button onclick="sort()">Try it</button>
<p id="demo"></p>
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 3

主要问题是,决定是否应该设置参数。如果没有,则用于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
}
Run Code Online (Sandbox Code Playgroud)
<p>Click the button to sort the array.</p>
<button onclick="sort()">Try it</button>
<p id="demo"></p>
Run Code Online (Sandbox Code Playgroud)