JavaScriptの配列要素の並べ替え

ひとつの配列 (Array) オブジェクト内の要素を、指定した順番に並べ替える方法を紹介します。

sort() 要素の並べ替え

Array のsort( comparefn ) 関数を呼ぶことで、並べ替えることができます。 引数の比較関数 comparefn を指定しなかった場合、要素の値は文字列として比較して、昇順に並べ替えます。

このため、次の例のように、数字 (number) の要素をもつ配列の sort() を呼び出しても、 数字の大きさによる順番ではなく、文字としての順番 (先頭に 1 がきたら小さいとする) に並べ替えられます。

let a = [5, 10, 1, 3, 20, 9];
console.log('-- a --');
console.log(a);
a.sort();
console.log('-- a --');
console.log(a);

並べ替えの順番を自分で指定するには、sort( comparefn ) 関数の引数に、 比較関数 comparefn を渡します。

比較関数 comparefn は、二つの引数 a, b を受け取り (変数名はなんでも構いません)、 a < b のとき負の値、a = b のとき 0、a > b のとき正の値を返します。

let a = [5, 10, 1, 3, 20, 9];
console.log('-- a --');
console.log(a);
a.sort((a,b) => {
    return a < b ? -1 : 1;
});
console.log('-- a --');
console.log(a);

reverse() 要素の順序を反対にする

現在設定されている要素の順番を、逆の順番にするには reverse() を呼びます。

reverse() は元の配列の要素の順番を変更する上に、戻り値としても変更された結果の配列を返します。

let a = [5, 10, 1, 3, 20, 9];
a.reverse();
console.log(a);

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 JavaScript 入門