reverse()
方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
语法
arr.reverse()
返回值
颠倒后的数组。
描述
reverse
方法颠倒数组中元素的位置,改变了数组,并返回该数组的引用。
reverse方法是特意类化的;此方法可被 called 或 applied于类似数组对象。对象如果不包含反映一系列连续的、基于零的数值属性中的最后一个长度的属性,则该对象可能不会以任何有意义的方式运行。
示例
颠倒数组中的元素
下例将会创建一个数组 sourceArray,其包含三个元素,然后颠倒该数组。
reverse()
的调用返回了一个颠倒后的数组 a
的引用。
const a = [1, 2, 3];
console.log(a); // [1, 2, 3]
a.reverse();
console.log(a); // [3, 2, 1]
颠倒类数组中的元素
下例创造了一个类数组对象 a
, 包含3个元素和一个 length 属性, 然后颠倒这个类数组对象。 reverse()
的调用返回一个颠倒后的类数组对象 a
的引用。
const a = {0: 1, 1: 2, 2: 3, length: 3};
console.log(a); // {0: 1, 1: 2, 2: 3, length: 3}
Array.prototype.reverse.call(a); //same syntax for using apply()
console.log(a); // {0: 3, 1: 2, 2: 1, length: 3}
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.1. |
ECMAScript 5.1 (ECMA-262) Array.prototype.reverse |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Array.prototype.reverse |
Standard | |
ECMAScript Latest Draft (ECMA-262) Array.prototype.reverse |
Draft | |
规范
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.1 |
ECMAScript 5.1 (ECMA-262) Array.prototype.reverse |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Array.prototype.reverse |
Standard |
浏览器兼容性
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out
https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
reverse |
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 5.5 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes | nodejs Full support Yes |
Legend
- Full support
- Full support