Phương thức reverse() đảo ngược một mảng tại chỗ và trả về tham chiếu đến cùng một mảng, phần tử mảng đầu tiên hiện trở thành phần cuối cùng và phần tử mảng cuối cùng trở thành phần đầu tiên. Nói cách khác, thứ tự các phần tử trong mảng sẽ được chuyển về hướng ngược lại với điều kiện đã nêu trước đó.reverse() method reverses an array in place and returns the reference to the same array, the first array element now becoming the last, and the last array element becoming the first. In other words, elements order in the array will be turned towards the direction opposite to that previously stated. Các tham chiếu đến mảng ban đầu, bây giờ đã đảo ngược. Lưu ý rằng mảng được đảo ngược tại chỗ và không có bản sao nào được thực hiện. Phương thức reverse() chuyển các phần tử của đối tượng mảng gọi tại chỗ, biến đổi mảng và trả về một tham chiếu đến mảng. Phương pháp reverse() bảo tồn các khe trống. Nếu mảng nguồn thưa thớt, các chỉ số mới tương ứng của các khe trống sẽ bị xóa và cũng trở thành các khe trống. Phương pháp reverse() là chung chung. Nó chỉ mong đợi giá trị this có thuộc tính const numbers = [3, 2, 4, 1, 5];
const reversed = numbers.reverse();
// numbers and reversed are both in reversed order [5, 1, 4, 2, 3]
reversed[0] = 5;
console.log(numbers[0]); // 5
0 và các thuộc tính được khóa. Mặc dù các chuỗi cũng giống như mảng, phương pháp này không phù hợp để được áp dụng trên chúng, vì các chuỗi là bất biến. Ví dụ sau đây tạo ra một mảng const numbers = [3, 2, 4, 1, 5];
const reversed = numbers.reverse();
// numbers and reversed are both in reversed order [5, 1, 4, 2, 3]
reversed[0] = 5;
console.log(numbers[0]); // 5
1, chứa ba phần tử, sau đó đảo ngược mảng. Cuộc gọi đến reverse() trả về một tham chiếu đến mảng đảo ngược const numbers = [3, 2, 4, 1, 5];
const reversed = numbers.reverse();
// numbers and reversed are both in reversed order [5, 1, 4, 2, 3]
reversed[0] = 5;
console.log(numbers[0]); // 5
1. const items = [1, 2, 3];
console.log(items); // [1, 2, 3]
items.reverse();
console.log(items); // [3, 2, 1]
Phương thức reverse() trả về tham chiếu đến mảng gốc, do đó, việc biến đổi mảng được trả về cũng sẽ biến đổi mảng gốc.Thử nó
Cú pháp
Giá trị trả về
Sự mô tả
Ví dụ
Đảo ngược các yếu tố trong một mảng
Phương thức đảo ngược () trả về tham chiếu đến cùng một mảng
const numbers = [3, 2, 4, 1, 5]; const reversed = numbers.reverse(); // numbers and reversed are both in reversed order [5, 1, 4, 2, 3] reversed[0] = 5; console.log(numbers[0]); // 5
Trong trường hợp bạn muốn reverse() không thay đổi mảng gốc, nhưng trả về một mảng được sao chép nông như các phương thức mảng khác (ví dụ: const numbers = [3, 2, 4, 1, 5]; const reversed = numbers.reverse(); // numbers and reversed are both in reversed order [5, 1, 4, 2, 3] reversed[0] = 5; console.log(numbers[0]); // 5 6), bạn có thể thực hiện một bản sao nông trước khi gọi reverse(), sử dụng cú pháp lan truyền hoặc const numbers = [3, 2, 4, 1, 5]; const reversed = numbers.reverse(); // numbers and reversed are both in reversed order [5, 1, 4, 2, 3] reversed[0] = 5; console.log(numbers[0]); // 5 8.
const numbers = [3, 2, 4, 1, 5]; // [...numbers] creates a shallow copy, so reverse() does not mutate the original const reverted = [...numbers].reverse(); reverted[0] = 5; console.log(numbers[0]); // 3
Sử dụng Reverse () trên các mảng thưa thớt
Mảng thưa thớt vẫn còn thưa thớt sau khi gọi reverse(). Các khe trống được sao chép vào các chỉ số mới tương ứng của chúng dưới dạng các khe trống.
console.log([1, , 3].reverse()); // [3, empty, 1] console.log([1, , 3, 4].reverse()); // [4, 3, empty, 1]
Gọi Reverse () trên các đối tượng không phải là
Phương pháp reverse() đọc thuộc tính const numbers = [3, 2, 4, 1, 5]; const reversed = numbers.reverse(); // numbers and reversed are both in reversed order [5, 1, 4, 2, 3] reversed[0] = 5; console.log(numbers[0]); // 5 0 của this. Sau đó, nó truy cập từng chỉ mục giữa const numbers = [3, 2, 4, 1, 5]; // [...numbers] creates a shallow copy, so reverse() does not mutate the original const reverted = [...numbers].reverse(); reverted[0] = 5; console.log(numbers[0]); // 3 3 và const numbers = [3, 2, 4, 1, 5]; // [...numbers] creates a shallow copy, so reverse() does not mutate the original const reverted = [...numbers].reverse(); reverted[0] = 5; console.log(numbers[0]); // 3 4 và trao đổi hai chỉ số tương ứng ở cả hai đầu, xóa các thuộc tính nếu cần.
const arrayLike = { length: 3, unrelated: "foo", 2: 4, }; console.log(Array.prototype.reverse.call(arrayLike)); // { '0': 4, length: 3, unrelated: 'foo' } // The '2' index is deleted because the '0' index was not present originally
Thông số kỹ thuật
Đặc tả ngôn ngữ Ecmascript # sec-array.prototype.reverse # sec-array.prototype.reverse |
Tính tương thích của trình duyệt web
Bảng BCD chỉ tải trong trình duyệt