JavaScript reverse を使う時は気をつけよう
配列の順序を逆にしたい時は、Array.prototype.reverse が便利です。
しかし、一点注意が必要なことがあります。
以下のように元の配列自体を変化させてしま点です。
const data = [1, 2, 3];
const reversed = data.reverse();
console.log(reversed); // [3, 2, 1]
console.log(data); // [3, 2, 1] 元の data も変わってしまっている
上記のようなケースの場合、sliceでコピーをとることで回避できます。
const data = [1, 2, 3];
const reversed = data.slice().reverse();
console.log(reversed); // [3, 2, 1]
console.log(data); // [1, 2, 3]
ただし、slice はシャローコピー(1段階の深さのコピー)なので、その点は注意が必要です。
最近のコメント