Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
reverse() 方法就地反转数组中的元素,并返回同一数组的引用。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。换句话说,数组中的元素顺序将被翻转,变为与之前相反的方向。
要在不改变原始数组的情况下反转数组中的元素,使用 toReversed()。
原始数组反转后的引用。注意,数组是就地反转的,并且没有复制。
reverse 方法反转数组中元素的位置,改变了数组,并返回该数组的引用。
reverse() 方法会保留空槽。如果源数组是稀疏的,则空槽对应的新索引将被删除,并且也成为空槽。
reverse() 方法是通用的。它只期望 this 值具有 length 属性和整数键属性。虽然字符串也是类似于数组的,但这个方法不适用于它们,因为字符串是不可变的。
下面的示例创建一个数组 items,其中包含三个元素,然后反转数组。调用 reverse() 会返回反转后的数组 items 的引用。
reverse() 方法返回对原始数组的引用,因此改变返回的数组也会改变原始数组。
如果你希望 reverse() 不改变原始数组,但返回一个浅拷贝数组,就像其他数组方法(例如 map())一样,使用 toReversed() 方法。或者,你可以在调用 reverse() 之前做一个浅拷贝,使用展开语法或 Array.from()。
调用 reverse() 后,稀疏数组保持稀疏状态。空槽将以空槽的形式被复制到它们各自的新索引中。
reverse() 方法读取 this 的 length 属性。然后,它访问 0 和 length / 2 之间的每个索引,并交换两端对应的两个索引,并在必要时,删除某些属性。
| ECMAScript® 2027 Language Specification # sec-array.prototype.reverse |
启用 JavaScript 以查看此浏览器兼容性表。