Bạn có thể thêm mảng trong JavaScript không?

Bạn có thể cần hợp nhất một hoặc nhiều mảng trong JavaScript. Vui lòng đọc bài viết này để tìm hiểu cách thực hiện với các cách sử dụng và sự khác biệt có liên quan

Bạn có thể thêm mảng trong JavaScript không?

Tapas Adhikary

·Ngày 15 tháng 10 năm 2021·7 phút đọc

Theo dõi bản tin của tôi và không bao giờ bỏ lỡ các bài viết sắp tới của tôi

Đặt mua

Chơi bài viết này

Trình duyệt của bạn không hỗ trợ phần tử âm thanh. TỐC ĐỘ1X

Một

merge([1,2,3], [4,5,6]);
4 là một tập hợp các yếu tố hoặc mục. Chúng tôi sử dụng các mảng để lưu trữ dữ liệu dưới dạng các phần tử và lấy lại chúng khi chúng tôi cần chúng. Mảng là một cấu trúc dữ liệu được sử dụng rộng rãi trong nhiều ngôn ngữ lập trình và JavaScript cũng không phải là một ngoại lệ

Bạn có thể cần hợp nhất một hoặc nhiều mảng để kết hợp tất cả các phần tử từ các mảng riêng lẻ thành một mảng. Chúng tôi phải đối mặt với nhu cầu này khi chúng tôi có dữ liệu đến từ các luồng khác nhau và chúng tôi muốn hợp nhất chúng thành một cấu trúc dữ liệu

Trong bài viết này, chúng ta sẽ tìm hiểu năm cách khác nhau để hợp nhất các mảng trong JavaScript. Chúng tôi cũng sẽ kết luận đâu là cách tốt nhất trong số tất cả và khi nào nên sử dụng nó

Nếu bạn cũng muốn học từ nội dung video, bài viết này cũng có sẵn dưới dạng video hướng dẫn tại đây. 🙂

https. //www. youtube. com/watch?v=IgJnnB1qoeI

Xin vui lòng đăng ký cho nội dung trong tương lai

Được rồi, chúng ta hãy bắt đầu

1. Sử dụng vòng lặp
merge([1,2,3], [4,5,6]);
5 truyền thống

Sử dụng vòng lặp

merge([1,2,3], [4,5,6]);
5 để hợp nhất hai hoặc nhiều phần tử mảng có thể là cách khả thi nhất. Hầu hết chúng ta đều biết cách sử dụng vòng lặp for trong lập trình. Vì vậy, nó là lựa chọn dễ dàng nhất để bắt đầu với. Tuy nhiên, nó có thể không phải là giải pháp tốt nhất cho vấn đề hiện tại

Để hợp nhất các phần tử từ mảng này sang mảng khác, trước tiên chúng ta phải lặp (lặp) qua tất cả các phần tử của mảng. Trong vòng lặp, chúng ta sẽ lấy từng phần tử từ một mảng và chèn (dùng phương thức array

merge([1,2,3], [4,5,6]);
7) vào một mảng khác

Đây là một hàm JavaScript làm tương tự,

const merge = (first, second) => {
  for(let i=0; ireturn first;
}

Bây giờ, chúng ta có thể gọi hàm

merge([1,2,3], [4,5,6]);
8 và chuyển hai mảng làm đối số để hợp nhất

merge([1,2,3], [4,5,6]);

Như chúng ta mong đợi, đây là đầu ra của mảng đã hợp nhất,

Bạn có thể thêm mảng trong JavaScript không?

Được rồi, nhưng làm cách nào để hợp nhất nhiều hơn hai mảng bằng cùng một hàm

merge([1,2,3], [4,5,6]);
8?

________số 8

Vì vậy, ở đây, trước tiên chúng ta hợp nhất hai mảng và hợp nhất đầu ra của nó với một mảng khác

Bạn có thể thêm mảng trong JavaScript không?

Như bạn có thể đoán, do yêu cầu của chúng tôi về số lượng mảng đầu vào tăng lên để hợp nhất, đây sẽ là một cách ít thân thiện hơn để quản lý nó. Vì vậy, bắt đầu sử dụng vòng lặp for để hợp nhất hai hoặc nhiều mảng là tốt, nhưng có thể không phải là một phương pháp tuyệt vời để sử dụng trong thực tế

2. Sử dụng toán tử
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
0

Kể từ ES6, chúng ta có thể sử dụng

merge(merge([1,2,3], [4,5,6]), [7,8,9]);
1 (vâng, ba dấu chấm liên tiếp) làm toán tử trải rộng để hủy cấu trúc mảng. Chúng ta có thể sử dụng toán tử trải rộng trên các mảng trong một mảng bằng chữ (
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
2) để hợp nhất chúng. Hãy xem nó với một ví dụ

Đầu tiên, chúng ta sẽ lấy hai mảng,

merge(merge([1,2,3], [4,5,6]), [7,8,9]);
3 và
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
4. Sau đó, hợp nhất các mảng bằng cách sử dụng toán tử trải rộng (
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
1) trong một mảng bằng chữ

merge([1,2,3], [4,5,6]);
5

Bây giờ, lưu ý đầu ra của hợp nhất. Các mảng

merge(merge([1,2,3], [4,5,6]), [7,8,9]);
3 và
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
4 được hợp nhất và các phần tử của chúng được kết hợp thành một mảng
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
8. Xin lưu ý, các mảng đầu vào không được thay đổi ở đây

Ok, vậy làm cách nào để hợp nhất nhiều hơn hai mảng bằng phương pháp này?

merge([1,2,3], [4,5,6]);
9

Cách hợp nhất các mảng này thuận tiện hơn nhiều so với việc sử dụng cách tiếp cận vòng lặp for truyền thống mà chúng ta đã thấy trước đây. Đó là một cách dễ dàng để hợp nhất các mảng trong JavaScript ngoại trừ một lỗi nhỏ mà chúng ta sẽ thấy sau một thời gian

3. Sử dụng phương pháp mảng
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
9

Đối tượng JavaScript

merge([1,2,3], [4,5,6]);
50 có một số phương thức thực tế. Một trong số đó là phương pháp
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
9. Cách sử dụng chính của phương thức concat là hợp nhất hai mảng

merge([1,2,3], [4,5,6]);
3

Trong đoạn mã trên, chúng tôi hợp nhất hai mảng bằng phương thức

merge(merge([1,2,3], [4,5,6]), [7,8,9]);
9. Tuy nhiên, nó không phải là cú pháp yêu thích của tôi trong việc hợp nhất các mảng. Chúng ta có thể hiểu sai Cú pháp
merge([1,2,3], [4,5,6]);
53 khi chúng ta hợp nhất phần tử của
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
4 vào
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
3 và thay đổi chính mảng array1. Đó không phải là sự thật, mặc dù

Giống như chúng ta đã sử dụng toán tử

merge([1,2,3], [4,5,6]);
56, phương thức
merge([1,2,3], [4,5,6]);
57 sẽ không thay đổi các mảng đầu vào. Thay vào đó, nó tạo ra một mảng mới kết hợp tất cả các mảng đầu vào và trả về nó. Vì vậy, một cách tốt hơn để viết phương thức
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
9 để hợp nhất các mảng là,

merge([1,2,3], [4,5,6]);
1

Ở đây, rõ ràng là chúng ta có thể nối nhiều mảng thành một mảng trống và kết quả trả về mảng đã hợp nhất. Bạn có thể chuyển bao nhiêu mảng làm đối số đầu vào cho phương thức

merge(merge([1,2,3], [4,5,6]), [7,8,9]);
9

Tuyệt vời, nhưng cái nào để sử dụng?

Nếu bạn chắc chắn đầu vào đều là mảng, vui lòng sử dụng toán tử

merge([1,2,3], [4,5,6]);
56. Đây là một cách rất đơn giản và hiện đại để hợp nhất các mảng. Nhưng nếu bạn không chắc chắn về kiểu phần tử đầu vào, hãy sử dụng phương thức
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
9

Ví dụ: hãy lấy một chuỗi

merge([1,2,3], [4,5,6]);
94 và sử dụng toán tử trải rộng trên đó với các ký tự mảng,

merge([1,2,3], [4,5,6]);
8

Bạn nghĩ đầu ra sẽ là gì?

Bạn có thể thêm mảng trong JavaScript không?

Vì vậy, khi bạn hợp nhất nó với các mảng khác, kết quả cuối cùng có thể không phải là kết quả bạn mong đợi,

const merge = (first, second) => {
  for(let i=0; ireturn first;
}
0

Đầu ra,

Bạn có thể thêm mảng trong JavaScript không?

Trong những trường hợp như vậy, hãy sử dụng phương thức

merge(merge([1,2,3], [4,5,6]), [7,8,9]);
9 để thay thế,

const merge = (first, second) => {
  for(let i=0; ireturn first;
}
2

Đầu ra,

Bạn có thể thêm mảng trong JavaScript không?

4. Sử dụng phương thức mảng
merge([1,2,3], [4,5,6]);
7

Chúng ta sử dụng phương thức

merge([1,2,3], [4,5,6]);
7 để chèn một phần tử vào cuối mảng. Chúng ta cũng có thể sử dụng phương pháp này để hợp nhất hai hoặc nhiều mảng. Xin vui lòng xem qua,

merge([1,2,3], [4,5,6]);
0

Một vài điểm cần thiết cần lưu ý ở đây,

  • Phương thức
    merge([1,2,3], [4,5,6]);
    
    7 chèn một phần tử vào một mảng. Phương thức thay đổi mảng và trả về số phần tử của mảng sau khi chèn. Vì vậy, trong ví dụ trên, mảng đầu tiên,
    merge(merge([1,2,3], [4,5,6]), [7,8,9]);
    
    3, sẽ được thay đổi để phù hợp với các phần tử mới. Giá trị trả về là
    merge([1,2,3], [4,5,6]);
    
    31 từ phương thức
    merge([1,2,3], [4,5,6]);
    
    7 được gán cho biến
    merge([1,2,3], [4,5,6]);
    
    33
  • Chúng ta phải mở rộng mảng trong khi đẩy phần tử của nó sang mảng khác,

    merge([1,2,3], [4,5,6]);
    
    34. Thiếu toán tử trải rộng sẽ chèn toàn bộ mảng này sang mảng khác,

    merge([1,2,3], [4,5,6]);
    
    1

Vì vậy, làm cách nào để hợp nhất nhiều hơn hai mảng bằng phương thức

merge([1,2,3], [4,5,6]);
7?

merge([1,2,3], [4,5,6]);
25. Sử dụng phương pháp mảng
merge([1,2,3], [4,5,6]);
36

Cách cuối cùng để hợp nhất nhiều mảng là sử dụng phương thức

merge([1,2,3], [4,5,6]);
36

Cách hợp nhất mảng này không được khuyến nghị vì nó gần với cách tiếp cận

merge([1,2,3], [4,5,6]);
38 mà chúng ta đã thấy ở trên với sự đau đầu thêm của
merge([1,2,3], [4,5,6]);
39. Chúng tôi đang thảo luận về nó ở đây vì mục đích nâng cao nhận thức

Với phương thức

merge([1,2,3], [4,5,6]);
39, chúng ta có thể khởi tạo một biến(
merge([1,2,3], [4,5,6]);
11) với giá trị là
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
3 rồi lần lượt chèn các phần tử của
merge(merge([1,2,3], [4,5,6]), [7,8,9]);
4 vào
merge([1,2,3], [4,5,6]);
11

merge([1,2,3], [4,5,6]);
3

Đầu ra,

Bạn có thể thêm mảng trong JavaScript không?

Tóm tắt

Để tóm tắt,

  • Có nhiều cách để hợp nhất hai hoặc nhiều mảng thành một trong JavaScript
  • Sử dụng phương pháp
    merge([1,2,3], [4,5,6]);
    
    15 hoặc
    merge(merge([1,2,3], [4,5,6]), [7,8,9]);
    
    9 là giải pháp tối ưu nhất
  • Nếu bạn chắc chắn rằng tất cả các đầu vào để hợp nhất là mảng, hãy sử dụng
    merge([1,2,3], [4,5,6]);
    
    15. Trong trường hợp bạn không chắc chắn, hãy sử dụng phương pháp
    merge(merge([1,2,3], [4,5,6]), [7,8,9]);
    
    9
  • Bạn có thể sử dụng phương thức
    merge([1,2,3], [4,5,6]);
    
    7 để gộp mảng khi muốn thay đổi một trong các mảng đầu vào để gộp
  • Sử dụng phương pháp
    merge([1,2,3], [4,5,6]);
    
    36 để hợp nhất các mảng là một chút chi phí

Bạn có biết cách nào khác để hợp nhất các mảng trong JavaScript không?

Bạn có thể tìm thấy tất cả mã nguồn được sử dụng trong bài viết này từ repo GitHub của tôi,

https. //github. com/atapas/js-tips-tricks/blob/master/merge-arrays/merge-arrays. js


Tôi hy vọng bạn tìm thấy bài viết sâu sắc và nhiều thông tin. Hãy like/share để nó cũng đến được với những người khác

Hãy kết nối. Tôi cũng chia sẻ kiến ​​thức về JavaScript, Phát triển Web và Viết blog trên các nền tảng này,

Bạn có thể cộng các mảng lại với nhau trong JavaScript không?

Phương thức concat() nối (nối) hai hoặc nhiều mảng . Phương thức concat() trả về một mảng mới, chứa các mảng đã nối.

Tôi có thể đặt một mảng trong JavaScript mảng không?

Mảng là tập hợp các giá trị có thứ tự. mỗi giá trị được gọi là một phần tử và mỗi phần tử có một vị trí số trong mảng, được gọi là chỉ mục của nó. JavaScript cho phép chúng ta tạo mảng bên trong mảng được gọi là Mảng lồng nhau . Mảng lồng nhau có một hoặc nhiều mảng là phần tử của mảng.