Đảo ngược một mảng với những hạn chế nhất định là một trong những thách thức phổ biến nhất mà bạn sẽ thấy trong các cuộc phỏng vấn việc làm và các câu đố viết mã. Hướng dẫn này sẽ chỉ cho bạn năm cách để đảo ngược một mảng trong JavaScript có và không có phương pháp đảo ngược, cùng với các đoạn mã mà bạn có thể sử dụng.

Bạn đang xem : đảo ngược một mảng trong javascript

Đảo ngược một mảng với một số hạn chế nhất định là một trong những thách thức phổ biến nhất mà bạn sẽ gặp trong các cuộc phỏng vấn việc làm và các câu đố viết mã.

Hướng dẫn này sẽ chỉ cho bạn năm cách để đảo ngược một mảng trong JavaScript có và không có phương thức reverse , cùng với các đoạn mã mà bạn có thể sử dụng.

Cách Đảo ngược Mảng trong JavaScript bằng Phương pháp Đảo ngược

Khi bạn cần đảo ngược một mảng trong JavaScript, bạn có thể sử dụng phương thức reverse , phương thức này sẽ đặt phần tử cuối cùng trước và phần tử đầu tiên sau cùng:

  let number = [1, 2, 3, 4, 5];
để cho đảo ngượcNumbers = số.reverse ();

console.log (Số bị đảo ngược);
// [5, 4, 3, 2, 1]  

Đảo ngược mảng bằng JavaScript

Nhưng hãy nhớ rằng phương thức reverse cũng sẽ sửa đổi mảng ban đầu :

  let number = [1, 2, 3, 4, 5];
để cho đảo ngượcNumbers = số.reverse ();

console.log (Số bị đảo ngược);
// [5, 4, 3, 2, 1]

console.log (số);
// [5, 4, 3, 2, 1]  

Phương thức đảo ngược sửa đổi mảng ban đầu

Một số thách thức mã hóa có thể muốn bạn giữ nguyên mảng ban đầu, vì vậy hãy xem cách bạn có thể đảo ngược một mảng mà không thay đổi mảng ban đầu.

Cách Đảo ngược Mảng trong JavaScript bằng Toán tử Spread

Bạn có thể sử dụng kết hợp toán tử spread và phương thức reverse để đảo ngược mảng mà không thay đổi mảng ban đầu.

Đầu tiên, bạn đặt các phần tử được trả về từ toán tử spread vào một mảng mới bằng cách đặt cú pháp spread bằng dấu ngoặc vuông [] :

  [... number]  

Sau đó, bạn gọi phương thức reverse trên mảng. Bằng cách này, phương thức reverse sẽ được thực thi trên mảng mới thay vì mảng ban đầu:

  let number = [1, 2, 3, 4, 5];
let reverseedNumbers = [... số] .reverse ();

console.log (Số bị đảo ngược);
// [5, 4, 3, 2, 1]

console.log (số);
// [1, 2, 3, 4, 5]  

Sử dụng spread và reverse để đảo ngược mảng

Xem Thêm  datetime (Transact-SQL) - Máy chủ SQL - datetime bây giờ trong máy chủ sql

Lưu ý: phương thức spread là cú pháp ES6. Khi bạn cần hỗ trợ các trình duyệt cũ hơn hoặc bạn muốn sử dụng cú pháp ES5, bạn có thể kết hợp các phương thức lát ngược lại . Hãy xem xét điều đó ngay bây giờ.

Cách Đảo ngược Mảng trong JavaScript với Phương thức Slice và Reverse

Phương thức slice được sử dụng để trả về các phần tử đã chọn dưới dạng một mảng mới. Khi bạn gọi phương thức mà không có bất kỳ đối số nào, nó sẽ trả về một mảng mới giống với mảng ban đầu (từ phần tử đầu tiên đến phần tử cuối cùng).

Tiếp theo, bạn gọi ngược lại trên mảng mới trả về. Đây là lý do tại sao mảng ban đầu không bị đảo ngược:

  let number = [1, 2, 3, 4, 5];
hãy để đảo ngượcNumbers = number.slice (). reverse ();

console.log (Số bị đảo ngược);
// [5, 4, 3, 2, 1]

console.log (số);
// [1, 2, 3, 4, 5]  

Sử dụng phương thức lát cắt và đảo ngược để đảo ngược mảng

Cách Đảo ngược một mảng trong JavaScript mà không có Phương pháp Đảo ngược

Đôi khi một cuộc phỏng vấn xin việc sẽ yêu cầu bạn đảo ngược một mảng mà không có phương pháp reverse . Không vấn đề gì! Bạn có thể sử dụng kết hợp vòng lặp for và phương thức mảng push như trong ví dụ dưới đây:

  let number = [1, 2, 3, 4, 5];
hãy đảo ngượcNumbers = [];

for (cho i = number.length -1; i & gt; = 0; i--) {
  reverseNumbers.push (số [i]);
}

console.log (reverseNumbers);  

Đảo ngược mảng với vòng lặp for và phương thức push

Cách thực hiện Viết hàm ngược của riêng bạn trong JS

Cuối cùng, giả sử bạn được giao nhiệm vụ viết hàm ngược của riêng mình cần đảo ngược một mảng mà không cần tạo bản sao. Điều này thoạt nghe có vẻ phức tạp, nhưng đừng lo lắng vì nó thực sự khá dễ dàng.

Điều bạn cần làm ở đây là hoán đổi phần tử đầu tiên và cuối cùng của mảng, sau đó hoán đổi phần tử thứ hai và phần tử thứ hai thành cuối cùng, v.v. cho đến khi bạn đã hoán đổi tất cả các phần tử.

Xem Thêm  Căn chỉnh văn bản CSS - Ví dụ về kiểu văn bản căn giữa, căn đều, căn phải - căn giữa văn bản kiểu

js-array-reverse-function-1 Một hàm để đảo ngược một mảng

Hãy viết một hàm để thực hiện điều đó.

Viết hàm customReverse < / code> và lưu trữ cả chỉ mục đầu tiên tại 0 và chỉ mục cuối cùng bằng cách sử dụng array.length - 1 dưới dạng các biến.

  function customReverse (originalArray) {

  để leftIndex = 0;
  let rightIndex = originalArray.length - 1;
}  

Tiếp theo, tạo vòng lặp while chạy miễn là leftIndex nhỏ hơn rightIndex .

Bên trong vòng lặp này, hãy hoán đổi giá trị của leftIndex rightIndex . Bạn có thể lưu trữ tạm thời một trong các giá trị trong biến tạm thời:

  while (leftIndex & lt; rightIndex) {

  // Hoán đổi các phần tử
  let temp = originalArray [leftIndex];
  originalArray [leftIndex] = originalArray [rightIndex];
  originalArray [rightIndex] = temp;
}  

Cuối cùng, di chuyển leftIndex lên và rightIndex xuống. Khi vòng lặp while lặp lại, nó sẽ hoán đổi phần tử thứ hai và phần tử thứ hai thành phần tử cuối cùng, v.v.:

  function customReverse ( originalArray) {

  để leftIndex = 0;
  let rightIndex = originalArray.length - 1;

  trong khi (leftIndex & lt; rightIndex) {

    // Hoán đổi các phần tử bằng biến tạm thời
    let temp = originalArray [leftIndex];
    originalArray [leftIndex] = originalArray [rightIndex];
    originalArray [rightIndex] = temp;

    // Di chuyển các chỉ mục vào giữa
    leftIndex ++;
    rightIndex--;
  }
}  

Mã mảng đảo ngược hoàn chỉnh

Vòng lặp sẽ dừng ngay khi không còn phần tử nào để đảo ngược. Đối với các mảng có kích thước lẻ, giá trị của leftIndex rightIndex sẽ bằng nhau, do đó không cần hoán đổi nữa. Đối với kích thước chẵn, leftIndex sẽ lớn hơn rightIndex .

Bạn có thể kiểm tra hàm để xem nó có hoạt động bình thường như sau không: < / p>

  let myArray = [1, 2, 3, 4, 5];

customReverse (myArray);

console.log (myArray);

// đầu ra là [5, 4, 3, 2, 1]  

Kiểm tra hàm mảng đảo ngược

Kết luận

Xin chúc mừng! Bạn không chỉ học được cách đảo ngược một mảng trong JavaScript mà còn cả cách viết hàm đảo ngược của riêng bạn.

Dưới đây là một số hướng dẫn JavaScript khác mà bạn có thể quan tâm:


Xem thêm những thông tin liên quan đến chủ đề đảo ngược một mảng trong javascript

Javascript Basics - Swapping Elements in An Array

alt

  • Tác giả: JSsifu
  • Ngày đăng: 2021-05-17
  • Đánh giá: 4 ⭐ ( 5824 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: JsSifu javascript javascriptTutorial
    This video will shows you how to use the swapping operation swap elements inside an array in place. We will also go over an example on how to take advantage of this operation to write our own reverse function on array. This operation is very useful during technical interview process. It will be used for sorting, reversing, transposing etc. for an array or array of arrays (nested array). There will be a follow up video for how to use swap operation to solve a transpose a 2D matrix video.

    Here is what we are going to do:
    let say we have an array [1,2,3,4]. We want to swap the 1 and 4 so the array will be [4,2,3,1].

    In our reverse function we will reverse [1,2,3,4,5,6] to [6,5,4,3,2,1].

Cách đảo ngược một mảng JavaScript

  • Tác giả: tech-wiki.online
  • Đánh giá: 5 ⭐ ( 8819 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Hàm array.reverse() trong Javascript

  • Tác giả: freetuts.net
  • Đánh giá: 3 ⭐ ( 2296 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cú pháp và ví dụ hàm array reverse javascript, Hàm reverse trong javascript có chức năng đúng với tên gọi của nó là đảo ngược thứ tự của các phần tử trong.

Đảo ngược mảng trong JavaScript

  • Tác giả: hocjavascript.net
  • Đánh giá: 5 ⭐ ( 4231 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài viết này sẽ giới thiệu đến bạn một số công thức để đảo ngược mảng trong JavaScript hay còn gọi là đảo ngược thứ tự của các phần tử

Techmaster Việt Nam

  • Tác giả: techmaster.vn
  • Đánh giá: 5 ⭐ ( 1646 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Đảo ngược mảng trong JavaScript

  • Tác giả: laptrinhcanban.com
  • Đánh giá: 4 ⭐ ( 9495 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn tất cả cách đảo ngược mảng trong JavaScript. Bạn sẽ học được cách sử dụng các phương thức như reverse(), sort() hoặc vòng lặp for để đảo ngược mảng JavaScript sau bài học này.

Đảo ngược mảng trong Javascript mà không làm thay đổi mảng gốc

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 3237 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Bạn có thể sử dụng lát () để tạo một bản sao rồi đảo ngược ()…

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php