Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Menyusun Susunan Integer dengan Betul dalam JavaScript?

Bagaimanakah Saya Menyusun Susunan Integer dengan Betul dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-12-19 11:02:44732semak imbas

How Do I Correctly Sort an Array of Integers in JavaScript?

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!

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