Rumah >hujung hadapan web >tutorial js >Bagaimanakah Kaedah `sort()` JavaScript Berfungsi untuk Mengisih Tatasusunan Berangka?

Bagaimanakah Kaedah `sort()` JavaScript Berfungsi untuk Mengisih Tatasusunan Berangka?

Susan Sarandon
Susan Sarandonasal
2024-11-09 06:24:02916semak imbas

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

Cara Kaedah Sort() Javascript Berfungsi untuk Tatasusunan Berangka

Kaedah sort() Javascript membolehkan pengisihan tatasusunan yang cekap menggunakan fungsi panggil balik. Fungsi ini menyediakan cara untuk membandingkan elemen dan menentukan susunannya.

Penggunaan Fungsi Panggilan Balik:

Kaedah sort() menggunakan fungsi panggil balik yang mengambil dua argumen (a dan b), mewakili unsur-unsur yang dibandingkan. Fungsi harus mengembalikan nilai yang menunjukkan tertib relatifnya:

  • Kurang daripada 0: a dipesan sebelum b.
  • Sifar: a dan b dianggap sama.
  • Lebih besar daripada 0: b dipesan sebelum a.

Isih Susunan:

Untuk coretan kod yang diberikan:

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

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

Fungsi panggil balik (a - b) menolak nombor kedua (b) daripada nombor pertama (a), menghasilkan nilai positif untuk pasangan seperti (25, 8) di mana 25 harus didahulukan sebelum 8 dalam susunan yang diisih.

Panggilan Balik Berbilang:

Fungsi panggil balik dipanggil beberapa kali semasa proses pengisihan. Untuk contoh yang diberikan, perbandingan berikut berlaku:

  • 25 dan 8
  • 25 dan 7
  • 8 dan 7
  • 25 dan 41

Diisih Keputusan:

Selepas berbilang panggilan panggil balik, tatasusunan diisih secara berangka dalam tertib menaik:

[7, 8, 25, 41]

Dengan memanfaatkan fungsi panggil balik, kaedah sort() membandingkan dan menyusun semula elemen dengan cekap , membawa kepada pengisihan berangka yang diingini.

Atas ialah kandungan terperinci Bagaimanakah Kaedah `sort()` JavaScript Berfungsi untuk Mengisih Tatasusunan 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