JavaScript | 配列の値を逆順にする方法

JavaScript 配列,JavaScript

JavaScript | 配列の値を逆順にする方法

JavaScriptで配列の値の順番を逆順にする方法のサンプルです。

reverse()とArray.prototype.reverse.call()を使った配列の逆順ソートについて紹介しています。

reverse()で配列の値を逆順にする

JavaScriptで配列に格納されている値を逆順にするにはreverse()を利用します。

reverse()には指定可能なオプション引数はありません。

reverse()は指定した中身が配列の変数に変更を加えず、返り値として結果を返します。

let array = [1, 2, 3, 4, 5];
array = array.reverse();

console.log(array);
//[5, 4, 3, 2, 1]

空の配列はエラーとはなりませんが、reverse()の対象に空値・数値・文字列・関数名・オオブジェクトなどを指定した場合はエラーとなります。

Uncaught TypeError: array.reverse is not a function

Array.prototype.reverse.call()で配列を逆順にする

直接配列の中身を変更するにはArray.prototype.reverse.call()を利用することが可能です。

Array.prototype.reverse.call()は引数に指定の配列を持つ変数を代入します。

let array = [1, 2, 3, 4, 5];
Array.prototype.reverse.call(array);

console.log(array);
//[5, 4, 3, 2, 1]

返り値として新しい変数に代入する事も可能です。(引数に指定する配列は変数でなく直書きでも可)
※元の配列も逆順に変換されます

let array = [1, 2, 3, 4, 5];
let array2 = Array.prototype.reverse.call(array);

console.log(array,array2);
//[5, 4, 3, 2, 1] [5, 4, 3, 2, 1]

空の配列はエラーとはなりませんが、Array.prototype.reverse.call()の対象に空値・数値・文字列・関数名・オオブジェクトなどを指定した場合はエラーとなります。

Uncaught TypeError: Cannot convert undefined or null to object at reverse