JavaScript 文字列の並べ替え
JavaScript では、文字列の並べ替えはその特性により少し難しい場合があります。よくある課題の 1 つは、sort() メソッドを使用して文字列属性に基づいてオブジェクトを並べ替えることです。
問題:
list.sort(function ( a, b) { return a.attr - b.attr }) 文字列に対して失敗することが多い
解決策:
JavaScript で文字列を並べ替えるには、sort 関数内で String.prototype.localeCompare を使用します。
list.sort(function (a, b) { return ('' + a.attr).localeCompare(b.attr); });
変換することで、 a.attr を文字列に明示的に指定すると、例外が回避されます。 localeCompare はロケールを意識した比較をサポートしており、ブラウザ間で広くサポートされています。
代替アプローチ:
代替方法は、次のコード スニペットを使用することです:
if (item1.attr < item2.attr) return -1; if ( item1.attr > item2.attr) return 1; return 0;
ただし、このアプローチはロケールを尊重しないため、異なる環境では一貫性のない結果が生じる可能性があります。環境
以上がJavaScript オブジェクト配列内の文字列を正しく並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。