Mengisih Tatasusunan Integer: Melangkaui Susunan Abjad
Dalam cuba mendapatkan nilai tertinggi dan terendah daripada tatasusunan integer, anda boleh telah menemui tingkah laku yang tidak dijangka: fungsi isihan nampaknya menyusun elemen sebagai rentetan. Untuk mengatasi isu ini, kami memerlukan mekanisme pengisihan yang mempertimbangkan nilai integer.
Memahami Isih Lalai
Secara lalai, kaedah isihan dalam JavaScript melaksanakan isihan abjad. Ini bermakna unsur-unsur dibandingkan sebagai rentetan dan disusun mengikut susunan leksikografi. Dalam kes integer, ini boleh membawa kepada keputusan yang salah, kerana perbandingan adalah berdasarkan perwakilan rentetan nombor dan bukannya nilai sebenar mereka.
Penyelesaian: Fungsi Isih Berangka Tersuai
Untuk menangani pengehadan ini, kami boleh menentukan fungsi pengisihan tersuai yang memfokuskan pada membandingkan nilai integer elemen tatasusunan. Berikut ialah contoh mudah:
var numArray = [140000, 104, 99]; numArray.sort(function(a, b) { return a - b; }); console.log(numArray);
Fungsi isihan yang disediakan (bernama sortNumber atau serupa) mengambil dua parameter, a dan b, mewakili dua elemen yang dibandingkan. Untuk mengisih tatasusunan dalam tertib menaik, kita hanya tolak a daripada b. Jika keputusannya positif, a hendaklah datang selepas b; jika negatif, a harus didahulukan sebelum b.
Keputusan
Dengan menggunakan fungsi isihan tersuai, kami mendapat hasil yang betul:
[99, 104, 140000]
Elemen tatasusunan kini diisih dalam tertib berangka menaik mengikut nilai integernya, seperti yang dimaksudkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Menyusun Susunan Integer dengan Betul dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!