Rumah >hujung hadapan web >tutorial js >Bagaimana Mengisih Rentetan dengan Betul dalam Tatasusunan Objek JavaScript?
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!