Rumah >hujung hadapan web >tutorial js >Bagaimanakah Fungsi `sort()` JavaScript berfungsi untuk Isih Berangka?

Bagaimanakah Fungsi `sort()` JavaScript berfungsi untuk Isih Berangka?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-07 09:02:02906semak imbas

How Does JavaScript's `sort()` Function Work for Numerical Sorting?

Memahami Fungsi sort() JavaScript untuk Isih Berangka

Fungsi sort() dalam JavaScript membolehkan anda menyusun semula elemen tatasusunan dalam perintah yang ditentukan. Dalam kod yang diberikan:

var array = [25, 8, 7, 41];

array.sort(function(a, b) {
  return a - b;
});

Dengan menghantar fungsi panggil balik ke sort(), anda mentakrifkan cara untuk menentukan susunan. Fungsi panggil balik mengambil dua parameter, a dan b, mewakili elemen yang dibandingkan. Nilai pulangan menentukan susunan:

  • Kurang daripada 0: a diisih sebelum b.
  • Sifar: a dan b kekal dalam susunan yang sama.
  • Lebih besar daripada 0: b diisih sebelum a.

Isihan berangka yang disediakan dalam kod berfungsi dengan mengira perbezaan antara dua nombor. Jika perbezaan adalah positif, b akan diisih sebelum a, menghasilkan tertib menaik.

Berbilang Panggilan ke Fungsi Panggilan Balik

Semasa proses pengisihan, panggilan balik fungsi dipanggil beberapa kali untuk membandingkan pasangan elemen yang berbeza. Susunan di mana elemen dibandingkan dilaksanakan oleh algoritma isihan. Dalam kes ini, ia mengikut corak tertentu:

  1. 25 lwn. 8
  2. 25 lwn. 7
  3. 8 lwn. 7
  4. 25 lwn. 41

Isih Pasangan Yang Dibandingkan

Selepas setiap perbandingan, keputusan menentukan sama ada unsur ditukar atau tidak. Sebagai contoh, dalam perbandingan pertama, 25 - 8 = 17 adalah lebih besar daripada sifar, jadi 8 akan diisih sebelum 25. Ini akan berterusan sehingga semua elemen telah dibandingkan dan diisih.

Dengan menggunakan mekanisme ini, sort() berfungsi dengan cekap menyusun semula tatasusunan ke dalam susunan berangka.

Atas ialah kandungan terperinci Bagaimanakah Fungsi `sort()` JavaScript berfungsi untuk Isih Berangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn