代码之家  ›  专栏  ›  技术社区  ›  djmayank

Javascript按升序排列不起作用

  •  1
  • djmayank  · 技术社区  · 9 年前

    <h2>JavaScript Array Sort</h2>
    
    <p>Click the button to sort the array in ascending order.</p>
    
    <button onclick="myFunction()">I will arrange</button>
    
    <p id="demo"></p>
    
    </body>
    

    JS:

    var points = [7, 1, 6, 3, 5, 2];
    document.getElementById("demo").innerHTML = points;    
    
    function myFunction() {
        points.sort(function(a, b){return a - b});
        document.getElementById("demo").innerHTML = points;
    }
    

    js fiddle链接: https://jsfiddle.net/djmayank/uef3xexk/

    2 回复  |  直到 9 年前
        1
  •  3
  •   Miguel    9 年前

    除非使用 No wrap - in <body> JSFiddle中的选项。

    JS公司

    var submit = document.querySelector('#submit')
    var output = document.getElementById('demo')
    
    var points = [40, 100, 1, 5, 25, 10];
    
    output.innerHTML = points;
    
    function sortArray() {
      points.sort(function(a, b) {
        return a - b
      });
    
      output.innerHTML = points;
    }
    
    submit.addEventListener('click', function(event) {
      event.preventDefault()
    
      sortArray()
    })
    

    HTML

    <h2>JavaScript Array Sort</h2>
    
    <p>Click the button to sort the array in ascending order.</p>
    
    <button id="submit">I will arrange</button>
    
    <p id="demo"></p>
    

    JSFIDLE演示: https://jsfiddle.net/uef3xexk/3/

        2
  •  1
  •   Willie    9 年前

    否则,你想要

    document.getElementById("demo").innerHTML = points;
    

    // example onload on body
    <body onload="initalDemoInnerHtml()">
    
    // js code
    function initalDemoInnerHtml() {
      document.getElementById("demo").innerHTML = points;
     }
    

    myFunction()应在与上述代码相同的脚本标记中定义。

    <script type="text/javascript">
      var points = [7, 1, 6, 3, 5, 2];
      function initalDemoInnerHtml() {
       document.getElementById("demo").innerHTML = points;
      }
      function myFunction() { 
       points.sort(function(a, b){return a - b});
       document.getElementById("demo").innerHTML = points; 
      }
    </script>