Array.prototype.toReversed()
Baseline 2023
Newly available
Since July 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
语法
js
toReversed()
返回值
一个包含以相反顺序排列元素的新数组。
描述
示例
反转数组中的元素
下面的示例创建了一个包含三个元素的数组 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()
方法读取 this
的 length
属性。然后按降序访问 length - 1
和 0
之间的每个索引,并将原始数组中该索引的值添加到新数组相应的索引中。
js
const arrayLike = {
length: 3,
unrelated: "foo",
2: 4,
};
console.log(Array.prototype.toReversed.call(arrayLike));
// [4, undefined, undefined]
// '0' 和 '1' 两个索引不存在,所以它们会变成 undefined
规范
Specification |
---|
ECMAScript Language Specification # sec-array.prototype.toreversed |
浏览器兼容性
BCD tables only load in the browser