Array.prototype.toReversed()

Baseline 2023
新推出

自 2023 年 7 月以來,此功能可在最新的裝置和瀏覽器版本上執行。此功能可能不適用於舊裝置或瀏覽器。

toReversed() 方法是 Array 例項上與 reverse() 方法相對應的複製方法。它會返回一個元素順序顛倒的新陣列。

語法

js
toReversed()

引數

無。

返回值

包含元素順序顛倒的新陣列。

描述

toReversed() 方法會顛倒呼叫陣列物件的元素順序,並返回一個新陣列。

稀疏陣列上使用時,toReversed() 方法會將空位視為具有 undefined 值進行迭代。

toReversed() 方法是通用的。它只要求 this 值具有 length 屬性和整數鍵屬性。

示例

顛倒陣列中的元素順序

以下示例建立了一個名為 items 的陣列,其中包含三個元素,然後建立了一個與 items 順序相反的新陣列。items 陣列保持不變。

js
const items = [1, 2, 3];
console.log(items); // [1, 2, 3]

const reversedItems = items.toReversed();
console.log(reversedItems); // [3, 2, 1]
console.log(items); // [1, 2, 3]

在稀疏陣列上使用 toReversed()

toReversed() 的返回值永遠不是稀疏的。返回的陣列中的空位會變成 undefined

js
console.log([1, , 3].toReversed()); // [3, undefined, 1]
console.log([1, , 3, 4].toReversed()); // [4, 3, undefined, 1]

在非陣列物件上呼叫 toReversed()

toReversed() 方法會讀取 thislength 屬性。然後,它會按降序訪問 length - 10 之間的所有整數鍵屬性,並將當前屬性的值新增到要返回的陣列末尾。

js
const arrayLike = {
  length: 3,
  unrelated: "foo",
  2: 4,
};
console.log(Array.prototype.toReversed.call(arrayLike));
// [4, undefined, undefined]
// The '0' and '1' indices are not present so they become undefined

規範

規範
ECMAScript® 2026 語言規範
# sec-array.prototype.toreversed

瀏覽器相容性

另見