JavaScript で文字列を並べ替える

Shraddha Paghdar 2023年10月12日
  1. sort() メソッドを使用して JavaScript 文字列を並べ替える
  2. localeCompare() メソッドを使用して JavaScript 文字列を並べ替える
JavaScript で文字列を並べ替える

JavaScript 文字列には、テキストの保存と操作に使用される 0 個以上の引用符が含まれています。

JavaScript の文字列に関しては、それらを操作および操作するのに役立ついくつかの便利な組み込みメソッドがあります。この記事では、組み込みの JavaScript メソッドを使用して文字列の配列を並べ替える方法を説明します。

JavaScript には、sortlocaleCompare の 2つのメソッドがあり、元の文字列の配列を変更することで、順序付けられた文字列の配列を返します。

sort() メソッドを使用して JavaScript 文字列を並べ替える

sort() メソッドは、配列の要素を並べ替える JavaScript によって提供される組み込みメソッドです。

この並べ替えは、要素を文字列に変換することによって行われます。そしてそれに基づいて、UTF-16 コードユニット値のシーケンスを比較します。

標準の順序は常に昇順です。このメソッドは、元の配列を変更します。

構文:

sort()
sort((firstEl, secondEl) => {...})
sort(compareFn)
sort(function compareFn(firstEl, secondEl) {
  ...
})

パラメータ firstElsecondEl は、比較と並べ替えが必要な配列の 2つの要素を表します。compareFn は、カスタムソート関数を定義するオプションの関数です。このメソッドの戻り値は、ソートされた配列をインプレースで返すことです。つまり、元の配列を変更し、結果を元の配列に格納します。

詳細については、sort() メソッドのこのドキュメントを確認してください。

const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort();
console.log(osItems);

sort() を呼び出すと、元の配列 osItemsUTF-16 コード単位に従って並べ替えられ、結果が osItems 配列に格納されます。上記のコードを実行すると、以下の出力が得られます。

出力:

["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]

localeCompare() メソッドを使用して JavaScript 文字列を並べ替える

localeCompare() メソッドは、JavaScript によって提供される組み込みメソッドです。

このメソッドは、参照文字列が前後にあるかどうかをチェックし、ソート順で指定された文字列と一致し、それに基づいて番号を返します。他のロケールを渡すと、実際の結果が異なる場合があります。

構文:

localeCompare(compareString)
localeCompare(compareString, locales)
localeCompare(compareString, locales, options)

compareString は、参照文字列と比較される文字列である必須パラメータです。

locales は、フォーマット規則を使用する必要がある言語を表し、完全にオプションのパラメーターです。比較に基づいて、文字列の比較後に参照文字列が発生した場合は 1、文字列を比較する前に参照文字列が発生した場合は -1、両方の文字列が同等の場合は 0 のいずれかが返されます。

詳細については、localeCompare() メソッドのこのドキュメントを確認してください。

sort メソッド内で localeCompare メソッドを使用する唯一の利点は、éやèなどの非 ASCII 文字をソートできることです。localeCompare メソッドのロケールとオプションパラメータにより、より正確になります。

const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort((a, b) => a.localeCompare(b, 'en'));
console.log(osItems);

a.localeCompare(b, 'en') を呼び出すと、元の配列(この場合は osItems)の a(参照文字列)が英語ロケールを使用する b(文字列の比較)と比較されます。ここで興味深いのは、-11、および 0 のみを返し、sort メソッドがこれらの文字列をソートすることです。

上記のコードブロックを実行すると、次の出力が得られます。

出力:

["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

関連記事 - JavaScript String