Hàm hợp nhất các mảng thành một trong JavaScript

Bây giờ chúng ta hãy triển khai hàm merge, nhận số lượng mảng tùy ý làm tham số và hợp nhất các phần tử của chúng thành một mảng.

Đây là ví dụ về hoạt động của hàm chúng ta:

javascriptlet result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // sẽ hiển thị [1, 2, 3, 4, 5, 6, 7, 8, 9]

Hãy bắt đầu triển khai. Trước tiên, hãy lấy các mảng được truyền vào dưới dạng một mảng hai chiều:

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

function merge(...arrs){
  console.log(arrs); // sẽ hiển thị  [ [1, 2, 3,] [4, 5, 6], [7, 8, 9] ]
}

Bây giờ hãy hợp nhất mảng hai chiều này thành mảng một chiều. Chúng ta sẽ sử dụng phương thức concat và toán tử spread:

javascriptlet arrs   = [ [1, 2, 3,], [4, 5, 6], [7, 8, 9] ];

let result = [].concat(...arrs);
console.log(result); // sẽ hiển thị [1, 2, 3, 4, 5, 6, 7, 8, 9]

Hãy thêm mã này vào hàm merge của chúng ta:

javascriptfunction merge(...arrs) {
  return [].concat(...arrs);
}

let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // sẽ hiển thị [1, 2, 3, 4, 5, 6, 7, 8, 9]

Như bạn thấy, hàm này cũng rất ngắn gọn và súc tích.