Rumah > hujung hadapan web > tutorial js > Bagaimana Mengisih Rentetan dengan Betul dalam Tatasusunan Objek JavaScript?

Bagaimana Mengisih Rentetan dengan Betul dalam Tatasusunan Objek JavaScript?

Patricia Arquette
Lepaskan: 2024-11-25 12:35:12
asal
892 orang telah melayarinya

How to Correctly Sort Strings in JavaScript Object Arrays?

Pengisihan Rentetan JavaScript

Dalam JavaScript, pengisihan rentetan boleh menjadi agak rumit disebabkan oleh kebiasaannya. Satu cabaran biasa ialah mengisih objek berdasarkan atribut rentetan, menggunakan kaedah sort().

Masalah:

Percubaan untuk mengisih objek menggunakan list.sort(function ( a, b) { return a.attr - b.attr }) selalunya gagal untuk rentetan atribut.

Penyelesaian:

Untuk mengisih rentetan dalam JavaScript, gunakan String.prototype.localeCompare dalam fungsi isihan:

list.sort(function (a, b) {
    return ('' + a.attr).localeCompare(b.attr);
});
Salin selepas log masuk

Dengan menukar a.attr kepada rentetan secara eksplisit, kami mengelakkan pengecualian. localeCompare menyokong perbandingan sedar setempat dan disokong secara meluas merentas penyemak imbas.

Pendekatan Alternatif:

Kaedah alternatif ialah menggunakan coretan kod berikut:

if (item1.attr < item2.attr)
  return -1;
if ( item1.attr > item2.attr)
  return 1;
return 0;
Salin selepas log masuk

Walau bagaimanapun, pendekatan ini tidak menghormati tempat dan mungkin menghasilkan keputusan yang tidak konsisten dalam persekitaran.

Atas ialah kandungan terperinci Bagaimana Mengisih Rentetan dengan Betul dalam Tatasusunan Objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan