Trong bài viết này, chúng tôi xem xét các phương pháp khác nhau để đảo ngược các phần tử mảng bằng JavaScript.
Mục lục
- Sử dụng phương pháp ngược
- Sử dụng một vòng lặp giảm cho vòng lặp
- Sử dụng phương thức unSHift []
- Mà không cần sử dụng một mảng mới hoặc phương thức đảo ngược []
Sử dụng phương pháp ngược
Sử dụng một vòng lặp giảm cho vòng lặp
Sử dụng phương thức unSHift []
array.reverse[]
Mà không cần sử dụng một mảng mới hoặc phương thức đảo ngược []
arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
Sử dụng một vòng lặp giảm cho vòng lặp
arr = [1, 2, 3, 4];
arr1 = [];
for [let i = arr.length - 1; i >= 0; i--] {
arr1.push[arr[i]];
}
console.log[arr1];
//Output: [4, 3, 2, 1]
Sử dụng phương thức unSHift []
Sử dụng phương thức unSHift []
arr = [1, 2, 3, 4];
arr1 = [];
arr.forEach[element => {
arr1.unshift[element]
}];
console.log[arr1];
//Output: [4, 3, 2, 1]
Mà không cần sử dụng một mảng mới hoặc phương thức đảo ngược []
Mà không cần sử dụng một mảng mới hoặc phương thức đảo ngược []
Như tên cho thấy, phương pháp này đảo ngược thứ tự của các phần tử mảng bằng cách sửa đổi mảng hiện có.
arr = [1, 2, 3, 4];
for [let i = 0; i < Math.floor[arr.length / 2]; i++] {
[arr[i], arr[arr.length - 1 - i]] = [arr[arr.length - 1 - i], arr[i]];
}
console.log[arr];
//Output: [4, 3, 2, 1]
Cú pháp:
Phương thức
0 đả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 đó.arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
0 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.arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
Thử nó
Cú pháp
Giá trị trả về
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.
Sự mô tả
Phương thức
arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
0 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
arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
0 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
arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
0 là chung chung. Nó chỉ mong đợi giá trị arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
4 có thuộc tính arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
5 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ụ
Đảo ngược các yếu tố trong một mảng
Ví dụ sau đây tạo ra một mảng
arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
6, chứa ba phần tử, sau đó đảo ngược mảng. Cuộc gọi đến arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
0 trả về một tham chiếu đến mảng đảo ngược arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
6.const items = [1, 2, 3];
console.log[items]; // [1, 2, 3]
items.reverse[];
console.log[items]; // [3, 2, 1]
Phương thức đảo ngược [] trả về tham chiếu đến cùng một mảng
Phương thức
arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
0 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.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
arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
0 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ụ: arr = [1, 2, 3, 4];
arr1 = [];
for [let i = arr.length - 1; i >= 0; i--] {
arr1.push[arr[i]];
}
console.log[arr1];
//Output: [4, 3, 2, 1]
1], bạn có thể thực hiện một bản sao nông trước khi gọi ____10, sử dụng cú pháp lan truyền hoặc arr = [1, 2, 3, 4];
arr1 = [];
for [let i = arr.length - 1; i >= 0; i--] {
arr1.push[arr[i]];
}
console.log[arr1];
//Output: [4, 3, 2, 1]
3.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
arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
0. 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
arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
0 đọc thuộc tính arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
5 của arr = [1,2,3,4];
arr.reverse[];
console.log[arr];
//Output: [ 4, 3, 2, 1 ]
4. Sau đó, nó truy cập từng chỉ mục giữa arr = [1, 2, 3, 4];
arr1 = [];
for [let i = arr.length - 1; i >= 0; i--] {
arr1.push[arr[i]];
}
console.log[arr1];
//Output: [4, 3, 2, 1]
8 và arr = [1, 2, 3, 4];
arr1 = [];
for [let i = arr.length - 1; i >= 0; i--] {
arr1.push[arr[i]];
}
console.log[arr1];
//Output: [4, 3, 2, 1]
9 và hoán đổ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