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
Patricia Arquetteasal
2024-11-25 12:35:12875semak imbas

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);
});

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;

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:
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