Saya mencoba mengurutkan angka dalam urutan menaik menggunakan javascript dan saya macet. HTML:

<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>

J:

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;
}

Link biola js: https://jsfiddle.net/djmayank/uef3xexk/
Saya tidak mendapatkan kesalahan saya. Setiap jenis bantuan dihargai.

1
djmayank 7 Agustus 2017, 20:49

2 jawaban

Jawaban Terbaik

Anda perlu memanggil fungsi menggunakan event handler kecuali menggunakan opsi No wrap - in <body> di 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>

Demo JSFiddle: https://jsfiddle.net/uef3xexk/3/

3
Miguel Mota 7 Agustus 2017, 17:53

Apakah Anda mengembangkan ini di jsfiddle? Jika demikian, dalam pengaturan javascript, ubah saat kode dimuat menjadi "di badan".

Jika tidak, Anda ingin

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

Dijalankan ketika badan dokumen dirender karena Anda perlu #demo berada di dom untuk menambahkan daftar ke dalamnya.

// example onload on body
<body onload="initalDemoInnerHtml()">

// js code
function initalDemoInnerHtml() {
  document.getElementById("demo").innerHTML = points;
 }

MyFunction() harus didefinisikan dalam tag skrip yang sama dengan kode di atas.

<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>

Script ini harus ditambahkan untuk menjadi tag kepala.

1
Willie 7 Agustus 2017, 20:03