Rumah >hujung hadapan web >tutorial js >Bagaimanakah Kaedah `sort()` JavaScript Menggunakan Fungsi Panggilan Balik untuk Isih Berangka?

Bagaimanakah Kaedah `sort()` JavaScript Menggunakan Fungsi Panggilan Balik untuk Isih Berangka?

Barbara Streisand
Barbara Streisandasal
2024-11-11 01:52:03673semak imbas

How Does JavaScript's `sort()` Method Use a Callback Function for Numerical Sorting?

Bagaimana Kaedah Sort() Javascript Menggunakan Fungsi Panggilan Balik untuk Isih Berangka

Dalam Javascript, kaedah sort() membolehkan tatasusunan diisih dengan cara yang disesuaikan. Memahami selok-belok kaedah ini boleh menjadi mencabar, terutamanya untuk pemula.

Cara Kaedah Sort() Menggunakan Fungsi Panggilan Balik

Kaedah sort() menerima panggilan balik berfungsi sebagai hujah. Fungsi ini digunakan beberapa kali semasa proses pengisihan, dengan dua nombor dihantar ke dalamnya setiap kali. Nombor ini mewakili elemen semasa yang dibandingkan. Nilai pulangan fungsi menentukan cara unsur-unsur ini disusun dalam tatasusunan diisih terakhir.

Contoh:

Pertimbangkan kod berikut:

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

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

Dalam contoh ini, kaedah sort() digunakan untuk menyusun tatasusunan dalam susunan berangka menaik. Fungsi panggil balik ditakrifkan seperti berikut:

function(a,b){
  return a - b
}

Fungsi panggil balik ini mengambil dua parameter, a dan b, mewakili dua elemen yang dibandingkan. Ia mengira perbezaannya (a - b).

Kriteria Isih

Hasil pengiraan fungsi panggil balik menentukan susunan isihan. Jika hasilnya ialah:

  • Lebih besar daripada 0: Elemen yang diwakili oleh a mendahului elemen yang diwakili oleh b dalam tatasusunan yang diisih.
  • Equal hingga 0: Susunan unsur kekal tidak berubah.
  • Kurang daripada 0: Elemen yang diwakili oleh b mendahului elemen yang diwakili oleh a dalam tatasusunan yang diisih.

Proses Isih

Kaedah sort() berulang melalui tatasusunan, menggunakan fungsi panggil balik untuk setiap pasangan elemen. Berdasarkan output fungsi, ia melaraskan susunan elemen sehingga keseluruhan tatasusunan diisih.

Log Panggilan Balik (Contoh)

Jika kami mengubah suai panggilan balik berfungsi seperti berikut:

function(a,b){
  console.log(`comparing ${a},${b}`);
  return a > b ? 1
               : a === b ? 0 
                         : -1;
}

Kami akan memperoleh log panggilan balik berikut invocations:

comparing 25,8
comparing 25,7
comparing 8,7
comparing 25,41

Ini menunjukkan bahawa fungsi panggil balik memang digunakan beberapa kali, dengan pasangan elemen berubah dengan setiap lelaran.

Ringkasnya, kaedah sort() Javascript menggunakan panggilan balik berfungsi untuk menentukan susunan pengisihan elemen tatasusunan dengan membandingkannya secara berpasangan. Fungsi panggil balik ini digunakan berbilang kali semasa proses pengisihan dan outputnya menentukan tatasusunan diisih terakhir.

Atas ialah kandungan terperinci Bagaimanakah Kaedah `sort()` JavaScript Menggunakan Fungsi Panggilan Balik 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