Rumah >hujung hadapan web >tutorial js >Bagaimanakah fungsi `sort()` JavaScript sebenarnya berfungsi di belakang tabir?

Bagaimanakah fungsi `sort()` JavaScript sebenarnya berfungsi di belakang tabir?

Susan Sarandon
Susan Sarandonasal
2024-11-07 12:40:03837semak imbas

How does JavaScript's `sort()` function actually work behind the scenes?

Memahami Fungsi sort() JavaScript dan Kerja Dalamannya

Fungsi sort() terbina dalam biasanya digunakan dalam JavaScript untuk menyusun tatasusunan dalam susunan berangka atau abjad. Operasi ini dilaksanakan melalui fungsi perbandingan yang disediakan sebagai hujah kepada kaedah.

Kod yang dibentangkan membandingkan dua nombor (a dan b) dan mengembalikan hasil berikut :

  • Kurang daripada 0: a diisih sebelum b.
  • Sifar: a dan b kekal pada kedudukan asalnya.
  • Lebih besar daripada 0: b diisih sebelum a.

Berbilang Panggilan ke Fungsi Panggilan Balik

Fungsi panggil balik yang disediakan untuk sort() digunakan beberapa kali sepanjang proses pengisihan. Gandingan nombor tertentu yang dihantar ke dalam fungsi berbeza dengan setiap lelaran.

Anda pada mulanya предположил bahawa panggilan balik akan mula-mula mengendalikan 25 (a) dan 8 (b), diikuti oleh 7 (a) dan 41 (b). Walau bagaimanapun, ini bukanlah urutan di mana perbandingan sebenarnya berlaku.

Berikut ialah pecahan langkah-langkah yang terlibat:

  • Lelaran 1: 25 (a) dibandingkan dengan 8 (b).
  • Lelaran 2: 25 (a) dibandingkan dengan 7 (b).
  • Lelaran 3: 8 (a) dibandingkan dengan 7 (b).
  • Lelaran 4: 25 (a) dibandingkan dengan 41 (b).

Perbandingan ini menghasilkan perkara berikut tatasusunan yang diisih separa: [8, 7, 25, 41].

Mengisih Senarai Diisih Separa

Pada ketika ini, dua senarai tidak diisih kekal: [8, 7 ] dan [25, 41]. Algoritma melelang melalui senarai ini, menyusunnya secara bebas.

Hasil diisih terakhir ialah [7, 8, 25, 41].

Atas ialah kandungan terperinci Bagaimanakah fungsi `sort()` JavaScript sebenarnya berfungsi di belakang tabir?. 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