javascript 配列を逆順からforEachする

javascript 配列を逆順からforEachする

javascriptで、配列を逆順からforEachするサンプルコードを記述してます。「reverse」だけを使用して逆順にすると元の配列の値も逆順になるためコピーしてから「reverse」を使用します。

環境

  • OS windows11 pro 64bit
  • ブラウザ chrome 108.0.5359.72

逆順からforEach

逆順からforEachするには
1. 元の値が変わらないようにスプレッド構文で配列をコピーする
2. 「reverse」で反転させる
で可能です。

const arr = ['aaa', 'bbb', 'ccc'];

[...arr].reverse().forEach(v => {
  console.log(v);
});

console.log(arr); // ['aaa', 'bbb', 'ccc']

実行結果

コピーしない場合は、元の配列も反転してしまいます。

const arr = ['aaa', 'bbb', 'ccc'];

arr.reverse().forEach(v => {
  console.log(v);
});

console.log(arr); // ['ccc', 'bbb', 'aaa']

「slice」で範囲を指定せずに新しい同じ配列を作成から「reverce」しても結果は同じです。

const arr = ['aaa', 'bbb', 'ccc'];

console.log(arr.slice()); // ['aaa', 'bbb', 'ccc']

arr.slice().reverse().forEach(v => {
  console.log(v);
});

console.log(arr); // ['aaa', 'bbb', 'ccc']