JavaScript の日付で並べ替え
ソートとは、データ項目間の線形関係に従ってデータを昇順または降順に並べることを意味します。 並べ替えは、名前、番号、日付、およびエントリの種類で実行できます。
今日の投稿では、JavaScript で日付の昇順または降順で並べ替える方法を学習します。
JavaScript の日付で並べ替え
データ構造には、いくつかの種類の並べ替えアルゴリズムがあります。 これらのアルゴリズムの一部は次のとおりです。
- 挿入ソート
- マージソート
- クイックソート
- 基数ソート
- ヒープソート
- 選択ソート
- バブルソート
JavaScript には、配列の要素をソートし、ソートされた配列を返す組み込みの sort()
メソッドが用意されています。 デフォルトのソート順は昇順です。
降順でソートしたい場合は、関数を記述できます。 このメソッドは、要素を文字列に変換し、それらの UTF16 コード単位値シーケンスを比較します。
構文:
sort()
sort((a, b) => {/* write logic here */})
sort(compareFunction)
sort(function compareFunction(a, b) { /* write logic here */ })
sort()
メソッドは、a
と b
の 2つの引数を取ります。
CompareFunction
はオプションのパラメータです。 これは、ソート順を定義する関数を指定します。
渡されない場合、配列要素は文字列に変換され、各文字の Unicode ポイント値に基づいて並べ替えられます。 この関数が指定されている場合、デフォルトでは、互いに比較する必要がある 2つの入力配列要素が必要です。
この関数は元の配列を変更し、コピーは作成されません。
sort()
メソッドの詳細については こちら をご覧ください。
昇順と降順で日付を比較する例を作成してみましょう。
例:
const datesArray1 = ['2022-03-14', '2022-04-14', '2022-01-14'];
const datesArray2 = ['2022-03-14', '2022-04-14', '2022-01-14'];
const ascDates = datesArray1.sort((a, b) => {
return new Date(a).getTime() - new Date(b).getTime();
});
const descDates = datesArray2.sort((a, b) => {
return new Date(b).getTime() - new Date(a).getTime();
});
console.log(ascDates);
console.log(descDates);
この例では、3つの日付を定義しています。 比較関数では、最初に文字列の日付を日付オブジェクトに変換し、次にエポックからのミリ秒数を計算しました。
上記の例を任意のブラウザーで実行してみてください。 以下の結果が出力されます。
出力:
["2022-01-14", "2022-03-14", "2022-04-14"]
["2022-04-14", "2022-03-14", "2022-01-14"]
この例の完全なコード こちら にアクセスすることもできます。
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