Array.prototype.toReversed()
语法
toReversed()
返回值
一个包含以相反顺序排列元素的新数组。
描述
示例
反转数组中的元素
下面的示例创建了一个包含三个元素的数组 items
,然后创建了一个新的数组,该数组是 items
的反转。items
数组保持不变。
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
。
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
之间的每个索引,并将原始数组中该索引的值添加到新数组相应的索引中。
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