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