ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript オブジェクト配列内の文字列を正しく並べ替える方法

JavaScript オブジェクト配列内の文字列を正しく並べ替える方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-25 12:35:12816ブラウズ

How to Correctly Sort Strings in JavaScript Object Arrays?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。