flatten<T> function
Làm phẳng một danh sách đa chiều thành danh sách một chiều Loại bỏ các phần tử null
list
- Danh sách cần làm phẳng (có thể chứa danh sách con)
Trả về danh sách một chiều đã được làm phẳng
Implementation
List<T> flatten<T>(List<dynamic> list) {
List<T> result = [];
for (var item in list) {
if (item is List) {
// Nếu item là một danh sách, gọi đệ quy để làm phẳng
result.addAll(flatten<T>(item));
} else if (item is T) {
// Chỉ thêm các item có đúng type T
result.add(item);
}
}
return result;
}