flattenDeep function

List flattenDeep(
  1. List list
)

Recursively flattens list.

  • @param {List} list The list to flatten.
  • @returns {List} Returns the new flattened list.

@example

flattenDeep([1, [2, [3, [4]], 5]]);
// => [1, 2, 3, 4, 5]

Implementation

List flattenDeep(List list) {
  final result = [];

  void flatten(List items) {
    for (var item in items) {
      if (item is List) {
        flatten(item);
      } else {
        result.add(item);
      }
    }
  }

  flatten(list);
  return result;
}