Có hai cách để nối 2 mảng trong JavaScript. Nếu bạn muốn có mảng mới và không muốn làm thay đổi mảng hiện có khi nối, hãy sử dụng phương thức concat như sau:
Ví dụ
let arr1 = [1, 2, 3, 4]; let arr2 = [5, 6, 7, 8]; let arr3 = arr1.concat(arr2); console.log(arr1); console.log(arr2); console.log(arr3);
Kết quả
Điều này sẽ cho kết quả:
[1, 2, 3, 4] [5, 6, 7, 8] [1, 2, 3, 4, 5, 6, 7, 8]
Lưu ý rằng các mảng hiện có không bị sửa đổi. Nếu bạn muốn nối tại chỗ (in-place), bạn sẽ cần sử dụng phương thức push với apply. Hàm apply giải nén giá trị từ mảng và truyền nó cho hàm được áp dụng như các đối số. Ví dụ:
Ví dụ
let arr1 = [1, 2, 3, 4]; let arr2 = [5, 6, 7, 8]; arr1.push.apply(arr1, arr2); console.log(arr1); console.log(arr2);
Kết quả
Điều này sẽ cho kết quả:
[1, 2, 3, 4, 5, 6, 7, 8] [5, 6, 7, 8]
Lưu ý rằng ở đây mảng đầu tiên đã bị thay đổi chính nó.
Cách hiện đại (ES6+): Sử dụng spread operator: let arr3 = [...arr1, ...arr2] hoặc arr1.push(...arr2) để nối tại chỗ.