void retainWhere(
bool test(E element)
)

Removes all objects from this list that fail to satisfy test.

An object o satisfies test if test(o) is true.

List<String> numbers = ['one', 'two', 'three', 'four'];
numbers.retainWhere((item) => item.length == 3);
numbers.join(', '); // 'one, two'

Throws an UnsupportedError if this is a fixed-length list.

Source

/**
 * Removes all objects from this list that fail to satisfy [test].
 *
 * An object [:o:] satisfies [test] if [:test(o):] is true.
 *
 *     List<String> numbers = ['one', 'two', 'three', 'four'];
 *     numbers.retainWhere((item) => item.length == 3);
 *     numbers.join(', '); // 'one, two'
 *
 * Throws an [UnsupportedError] if this is a fixed-length list.
 */
void retainWhere(bool test(E element));