Trong hướng dẫn này, chúng ta sẽ xem cách đảo ngược một mảng trong JavaScript. Có một số cách để thực hiện việc này và việc tìm ra cách nào bạn muốn sử dụng thường phụ thuộc vào sở thích cá nhân của bạn
Chúng ta sẽ đảo ngược hai mảng này
let numArr = [1, 2, 3, 4, 5]
let strArr = ['Java', 'Python', 'JavaScript']
Sử dụng mảng. đảo ngược[]
Cách dễ nhất và đơn giản nhất để đảo ngược một mảng là thông qua phương thức
let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
0let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
Chúng tôi đã tạo hai biến mới để trỏ đến các mảng kết quả
[ 5, 4, 3, 2, 1 ]
[ 'JavaScript', 'Python', 'Java' ]
Ghi chú. Phương pháp
let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
0 đảo ngược mảng tại chỗ. Điều này có nghĩa là let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
2 và let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
3 ban đầu bị đảo ngược và chuỗi ban đầu bị mấtBạn không cần tạo một biến mới để lưu trữ một con trỏ tới các mảng này trong bộ nhớ, vì các con trỏ ban đầu đã trỏ tới các mảng bị đảo ngược
numArr.reverse[];
strArr.reverse[];
console.log[numArr];
console.log[strArr];
Điều này cũng dẫn đến
[ 5, 4, 3, 2, 1 ]
[ 'JavaScript', 'Python', 'Java' ]
Tuy nhiên, thông lệ vẫn là "gán" kết quả cho một biến mới để biểu thị trạng thái đã thay đổi hoặc ít nhất là gán một tên biểu thị hơn cho mảng đã chuyển đổi, chẳng hạn như
let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
4Đảo ngược một mảng chức năng
Lập trình hàm là một bổ sung tuyệt vời cho hầu hết các ngôn ngữ lập trình mệnh lệnh. Các cấu trúc chức năng cho phép chúng ta thực hiện các thao tác biến đổi khác nhau, thậm chí phức tạp, trên các đối tượng và trình tự với các hướng dẫn trực quan và đơn giản
Nhiều nhà phát triển chỉ đơn giản là thích sử dụng cấu trúc hàm khi họ có thể, vì vậy không có gì ngạc nhiên khi việc đảo ngược mảng cũng thường được thực hiện thông qua cấu trúc hàm. Cách tiếp cận này cho phép bạn cũng tạo ra một chuyển đổi khác bên cạnh đảo ngược, chẳng hạn như thêm hoặc thay đổi các phần tử.
Để đảo ngược một mảng theo chức năng trong JavaScript, chúng ta sẽ tận dụng toán tử trải rộng và hàm
let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
5Phương thức
let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
5 ánh xạ từng phần tử được bật lên [phần tử cuối cùng đã bị xóa] từ let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
7 và đẩy nó vào một mảng mới, mảng này được tạo dưới dạng bản sao của let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
7. Bằng cách loại bỏ phần tử cuối cùng và thêm nó làm phần tử đầu tiên vào một mảng mới, chúng ta tạo một mảng đảo ngược mớiCách tiếp cận đầu tiên xử lý một bản sao cố định của đối tượng
let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
7 và do đó không sửa đổi mảng ban đầuTrong cách tiếp cận thứ hai, chúng tôi sửa đổi mảng ban đầu khi chúng tôi đang sử dụng tham chiếu đến mảng ban đầu trong phương thức
let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
5, mặc dù trước đó chúng tôi đã tạo một bản sao của mảnglet numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
6Do đó, khi tất cả được nói và làm xong,
let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
2 vẫn không thay đổi, trong khi let numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
3 đã biến mấtlet numArrReversed = numArr.reverse[];
let strArrReversed = strArr.reverse[];
console.log[numArrReversed];
console.log[strArrReversed];
9Đảo ngược một mảng với vòng lặp for
Cuối cùng, cách tốt cũ là chỉ cần chạy mảng thông qua vòng lặp
[ 5, 4, 3, 2, 1 ]
[ 'JavaScript', 'Python', 'Java' ]
3 theo thứ tự ngược và thêm từng phần tử vào một mảng mớiĐiều này hoạt động tuyệt vời để tạo một mảng đảo ngược mới, nhưng sẽ không đảo ngược mảng cũ tại chỗ. Nếu bạn muốn đảo ngược nó tại chỗ, bạn sẽ muốn sử dụng phương thức
[ 5, 4, 3, 2, 1 ]
[ 'JavaScript', 'Python', 'Java' ]
4 để thêm các phần tử vào đầu mảng, trong khi liên tục nối [thao tác tại chỗ]Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó