Hiểu phương pháp 'phẳng' của JavaScript cho các mảng lồng nhau
Trong JavaScript, `flat` là một phương thức mảng trả về một mảng mới với tất cả các mảng lồng nhau được thu gọn thành một cấp độ duy nhất. Nó nhận một đối số tùy chọn, là một số nguyên biểu thị độ sâu lồng nhau để làm phẳng. Nếu không có đối số nào được cung cấp, nó mặc định là 1, nghĩa là chỉ có một mức lồng nhau sẽ được làm phẳng.
Dưới đây là ví dụ về cách bạn có thể sử dụng `flat` để làm phẳng một mảng lồng nhau:
```
const arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
const flatArr = arr.flat();
console.log(flatArr); // Đầu ra: [1, 2, 3, 4, 5, 6, 7, 8, 9]
```
Trong ví dụ này, `arr` là một mảng lồng nhau có ba cấp độ lồng nhau. Gọi `flat()` trên `arr` trả về một mảng mới thu gọn tất cả các mảng lồng nhau thành một cấp độ duy nhất. Mảng kết quả chứa tất cả các phần tử từ mảng ban đầu, theo thứ tự chúng xuất hiện.
Bạn cũng có thể chỉ định tham số độ sâu khi gọi `flat()`, để kiểm soát số lượng mức độ lồng nhau được làm phẳng. Ví dụ:
```
const arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
const flatArr = arr.flat(2);
console.log(flatArr); // Đầu ra: [1, 2, 3, 4, 5, 6, 7, 8]
```
Trong trường hợp này, `flatArr` sẽ chỉ chứa hai cấp độ lồng nhau đầu tiên, bỏ qua hoàn toàn cấp độ thứ ba.