JavaScript Array.reverse()とtoReversed() - 配列順序の反転
Array.reverse()でその場の反転とtoReversed()(ES2023)で不変の反転を学びます。文字列反転、回文チェック、スタックパターンを含みます。無料リファレンス。
Ordering
詳細な説明
reverse()とtoReversed()を理解する
Array.reverse()
配列をその場で反転し、同じ配列参照を返します:
const arr = [1, 2, 3, 4, 5];
arr.reverse();
// arr: [5, 4, 3, 2, 1]
toReversed()(ES2023)
元を変更せず新しい反転配列を返します:
const arr = [1, 2, 3, 4, 5];
const reversed = arr.toReversed();
// reversed: [5, 4, 3, 2, 1]
// arr: [1, 2, 3, 4, 5](変更なし)
文字列の反転
const reversed = [...str].reverse().join("");
パフォーマンス
reverse()はO(n)でその場で動作(追加メモリなし)。toReversed()もO(n)ですが新しい配列を割り当てます。
ユースケース
reverse()は配列を安全に変更できる場合(一時コピーの処理、1回限りの変換)に使用します。toReversed()はReact状態、Reduxリデューサー、元の配列が変更されてはいけない場所で使用します。逆時系列でのアイテム表示に一般的です。