ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で文字列を正しく並べ替えるにはどうすればよいですか?

JavaScript で文字列を正しく並べ替えるにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-24 18:40:25384ブラウズ

How to Correctly Sort Strings in JavaScript?

JavaScript での文字列の並べ替え

多くの JavaScript 開発者は、文字列属性に基づいてオブジェクトのリストを並べ替えようとすると、固有の属性が原因で課題に遭遇します。 JavaScript における文字列の動作。この記事では、この一般的な問題の解決策を検討します。

問題:

お分かりのように、a.attr - b.attr のように、ある文字列を別の文字列から単純に減算します。 、JavaScript では文字列を正確に並べ替えません。これは、JavaScript が文字列を Unicode 文字として扱い、基本的な算術演算が文字列の比較に適していないためです。

解決策:

文字列を効果的に並べ替えるには、 String.prototype.localeCompare メソッド。このメソッドはロケールに依存した文字列の比較を提供するため、並べ替えにより適しています。 localeCompare を使用したコードの更新バージョンは次のとおりです。

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

両方の値が文字列に強制されるように、空の文字列連結 ('' a.attr) を追加していることに注意してください。これは、潜在的な例外を回避するためです。

代替案:

より簡潔なアプローチを好み、ロケールの依存性を考慮する必要がない場合は、次を使用できます。コードスニペット:

if (item1.attr < item2.attr)
    return -1;
if ( item1.attr > item2.attr)
    return 1;
return 0;

以上がJavaScript で文字列を正しく並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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