Array.prototype.toReversed()

基线 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 语言规范
# sec-array.prototype.toreversed

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅