flatten<T> function

List<T> flatten<T>(
  1. List list
)

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;
}