const arr = [1, 2, 3, 4, 5];
const reversedArr = arr.reverse();

/* 配列の要素の順序を逆順に並べ替えます。 */
console.log(reversedArr); // 出力: [5, 4, 3, 2, 1]

/* 元の配列を直接変更します。 */
console.log(arr); // 出力: [5, 4, 3, 2, 1]
arr.reverse()
const originalArray = [1, 2, 3, 4, 5];

// 元の配列のコピーを作成
const copiedArray = originalArray.slice();

// コピーに対して reverse() 関数を適用
copiedArray.reverse();

console.log(originalArray); // [1, 2, 3, 4, 5] (元の配列は変更されません)
console.log(copiedArray);   // [5, 4, 3, 2, 1] (逆順になった配列)
const originalArray = [1, 2, 3, 4, 5];

// スプレッド(...)構文を使用して元の配列をコピー
const copiedArray = [...originalArray];

// コピーに対して reverse() 関数を適用
copiedArray.reverse();

console.log(originalArray); // [1, 2, 3, 4, 5] (元の配列は変更されません)
console.log(copiedArray);   // [5, 4, 3, 2, 1] (逆順になった配列)
const originalArray = [1, 2, 3, 4, 5];

/* 配列の要素の順序を逆順に並べ替えます。 */
const reversedArray = originalArray.toReversed();

console.log(reversedArray); // [5, 4, 3, 2, 1] (逆順になった配列)

/* 元の配列は変更されません。 */
console.log(originalArray);   // [1, 2, 3, 4, 5]
const numbers = [1, 2, 3, 4, 5];

// 配列の順序を逆順に変更し、各要素を出力
numbers.reverse().forEach(number => {
    console.log(number);
});

// 出力順序: 5, 4, 3, 2, 1
const str = "Hello, World!";

// 文字列を配列に分割し、逆順に反転させた後、再び文字列に結合します。
const reversedStr = str.split("").reverse().join("");

console.log(reversedStr);
// 出力: "!dlroW ,olleH"
const numbers = [1, 2, 3, 4, 5];

// 配列を逆順に変更し、特定の条件を満たす要素のみをフィルタリング
const filteredNumbers = numbers.reverse().filter(number => number % 2 === 0);

console.log(filteredNumbers);
// 出力: [4, 2]