Mungkin Anda telah menggunakan jenis array di JavaScript.
Mungkin Anda selalu percaya bahwa itu akan memberi Anda hasil yang tepat.
Setidaknya saya dulu berpikir demikian, sampai suatu hari, saya melihat kode berikut:
Salinan kode adalah sebagai berikut:
[5,10,1] .sort ();
Mungkin hasilnya sedikit tidak terduga. Hasilnya adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
[1,10,5]
Setelah penyelidikan yang cermat, saya menemukan bahwa metode pengurutan default tidak diurutkan sesuai dengan data pembentukan plastik, tetapi menggunakan metode pencocokan string.
Dengan kata lain, ini 1 dari 10 menyebabkan kesalahan dalam kode di atas.
Tentu saja, ada banyak solusi, Anda dapat meneruskan fungsi panggilan balik ke dalam metode sortir.
Salinan kode adalah sebagai berikut:
[5,10,1] .sort (function (x, y) {
if (x> y) {return 1;
}kalau tidak{
kembali -1
}
}
);
Ini akan mendapatkan hasil yang Anda harapkan.
Jika Anda menemukannya secara kebetulan, catat untuk mencegah lupa.