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リデューサー、元の配列が変更されてはいけない場所で使用します。逆時系列でのアイテム表示に一般的です。

試してみる — JavaScript Array Methods Reference

フルツールを開く