Rumah >hujung hadapan web >tutorial js >Bagaimanakah fungsi `sort()` JavaScript berfungsi dengan tatasusunan berangka?

Bagaimanakah fungsi `sort()` JavaScript berfungsi dengan tatasusunan berangka?

Susan Sarandon
Susan Sarandonasal
2024-11-07 21:31:02394semak imbas

How does JavaScript's `sort()` function work with numerical arrays?

Memahami Fungsi sort() Javascript

Kaedah sort() dalam JavaScript digunakan untuk menyusun elemen tatasusunan dalam susunan tertentu. Untuk mengisih tatasusunan dalam susunan berangka, fungsi panggil balik disediakan sebagai hujah. Fungsi panggil balik ini membandingkan setiap pasangan elemen dan mengembalikan nilai berdasarkan perbandingan.

Fungsi panggil balik mengambil dua parameter: "a" dan "b," yang mewakili elemen yang dibandingkan. Logik berikut digunakan untuk menentukan susunan pengisihan:

  • Jika "a - b" kurang daripada 0, "a" diisih ke indeks yang lebih rendah daripada "b."
  • Jika "a - b" adalah sifar, "a" dan "b" dianggap sama dan tiada pengisihan dilakukan.
  • Jika "a - b" lebih besar daripada 0, "b" diisih kepada a indeks yang lebih rendah daripada "a."

Untuk menggambarkan ini, pertimbangkan tatasusunan [25, 8, 7, 41].

Pelaksanaan Kaedah sort()

Kaedah sort() secara berulang memanggil fungsi panggil balik untuk membandingkan pasangan elemen. Urutan perbandingan berikut berlaku:

  • 25(a) - 8(b) = 17 (lebih besar daripada sifar, jadi susun "b" kepada indeks yang lebih rendah daripada "a"): [8 , 25]
  • 8(a) - 7(b) = 1 (lebih besar daripada sifar, jadi isihkan "b" kepada indeks yang lebih rendah daripada "a"): [8, 7, 25]
  • 8(a) - 41(b) = -33 (kurang daripada sifar, jadi susun "a" ke indeks yang lebih rendah daripada "b"): [8, 7, 41, 25]
  • 7(a) - 25(b) = -18 (kurang daripada sifar, jadi susun "a" ke indeks yang lebih rendah daripada "b"): [8, 7, 25, 41]

Menggabungkan Set Isih

Selepas setiap perbandingan, elemen yang diisih digabungkan. Tatasusunan diisih terakhir ialah [8, 7, 25, 41].

Atas ialah kandungan terperinci Bagaimanakah fungsi `sort()` JavaScript berfungsi dengan 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