How to flatten a List?

dart

Solution

The easiest way I know of is to use `Iterable.expand()` with an identity function. `expand()` takes each element of an Iterable, performs a function on it that returns an iterable (the "expand" part), and then concatenates the results. In other languages it may be known as flatMap.

So by using an identity function, expand will just concatenate the items. If you really want a List, then use `toList()`.

var a = [[1, 2, 3], ['a', 'b', 'c'], [true, false, true]];
var flat = a.expand((i) => i).toList();

Problem

How can I easily flatten a `List` in Dart? For example: ``` var a = [[1, 2, 3], ['a', 'b', 'c'], [true, false, true]]; var b = [1, 2, 3, 'a', 'b', 'c', true, false, true]; ``` How do I turn `a` into `b`, i.e. into a single `List` containing all those values?

Original source