Mengisih Tatasusunan Integer: Memahami Susunan Numerik
Mengisih tatasusunan integer mungkin kelihatan mudah, tetapi keanehan tertentu boleh timbul, menyebabkan kepada keputusan yang tidak dijangka. Pertimbangkan kod berikut:
numArray = numArray.sort();<br>
Secara intuitif, seseorang mungkin menjangkakan kod ini untuk mengisih tatasusunan dalam tertib menaik : [99, 104, 140000]. Walau bagaimanapun, output adalah tidak dijangka: [104, 140000, 99]. Ini kerana kelakuan lalai fungsi isihan adalah untuk merawat elemen sebagai rentetan dan mengisihnya mengikut abjad.
Untuk menyelesaikan isu ini, JavaScript menyediakan mekanisme untuk menyesuaikan proses pengisihan. Dengan memperkenalkan fungsi perbandingan baharu, kita boleh menentukan bagaimana elemen harus diisih.
Dalam kes integer, kita boleh menentukan fungsi isihan berangka:
kembalikan a - b;<br>});<br>
Fungsi isihan ini hanya menolak satu integer daripada yang lain, menghasilkan nilai positif atau negatif. Nilai positif menunjukkan bahawa argumen pertama (a) adalah lebih besar daripada yang kedua (b), dan sebaliknya.
Dengan menghantar fungsi ini kepada kaedah isihan, kita boleh mengisih tatasusunan secara berkesan secara berangka:
Kini, tatasusunan diisih dengan betul dalam tertib menaik berdasarkan nilai integer unsurnya. Dengan memanfaatkan fungsi perbandingan tersuai, kami boleh mengawal cara tatasusunan diisih dan mencapai hasil yang diingini.
Atas ialah kandungan terperinci Mengapakah Fungsi `sort()` JavaScript Menghasilkan Keputusan Yang Tidak Dijangka Apabila Menyusun Nombor, dan Bagaimanakah Ini Boleh Dibetulkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!