JavaScriptで配列の要素を昇順や降順で並び替え・Sort処理する方法(sort, toSorted)

Array_sort

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、JavaScriptで配列の要素を昇順や降順で並び替え・Sort処理する方法について解説していきます。

JavaScriptで配列の要素を昇順や降順で並び替え・Sort処理する方法

JavaScriptで配列の要素を昇順や降順での並び替え・Sort処理するには、次のどちらかのメソッドを使用すればOKです。

  1. Array.prototype.sort()
    • 指定配列をSortします(破壊的変更)
  2. Array.prototype.toSorted()
    • 指定配列のコピーをSortして実行結果として、返却します。

sortメソッドで指定配列を昇順または降順でSortする(破壊的変更)

Array.prototype.sort()で指定配列を昇順または降順でSortすることができます。

いわゆる「破壊的変更」を指定配列(元の配列)に加えるので、取り扱いには注意です。

const numberList = [1, 30, 4, 21, 100000];

/** 昇順・Sort */
const ascNumberList = numberList.sort((a, b) => a - b);
console.log("ascNumberList", ascNumberList); // ascNumberList (5) [1, 4, 21, 30, 100000]
console.log("numberList(元配列)", numberList); // numberList(元配列) (5) [1, 4, 21, 30, 100000]

/** 降順・Sort */
const descNumberList = numberList.sort((a, b) => b - a);
console.log("descNumberList", descNumberList); // descNumberList (5) [100000, 30, 21, 4, 1]
console.log("numberList(元配列)", numberList); // numberList(元配列) (5) [100000, 30, 21, 4, 1]

toSortedメソッドで指定配列のコピーを昇順または降順でSortする

Array.prototype.toSorted()で、指定配列のコピーをSortすることができます。

指定配列(元の配列)の順序を変えたくない場合は、こちらを使用することになります。

const numberList2 = [1, 30, 4, 21, 100000];

/** 昇順・Sort */
const ascNumberList2 = numberList2.toSorted((a, b) => a - b);

/** 降順・Sort */
const descNumberList2 = numberList2.toSorted((a, b) => b - a);

console.log("numberList2(元配列)", numberList2); // numberList2(元配列) (5) [1, 30, 4, 21, 100000]
console.log("ascNumberList2", ascNumberList2); // ascNumberList2 (5) [1, 4, 21, 30, 100000]
console.log("descNumberList2", descNumberList2); // descNumberList2 (5) [100000, 30, 21, 4, 1]

Twitterやってます!Follow Me!

神聖グンマー帝国の逆襲🔥

神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!

参考・引用

  1. MDN:Array.prototype.sort()
  2. MDN:Array.prototype.toSorted()

最近の投稿