retainWhere method Null safety

  1. @override
void retainWhere(
  1. bool test(
    1. Node
    )
)
override

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

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

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

The list must be growable.

Implementation

@override
void retainWhere(bool Function(Node) test) {
  for (var node in where((n) => !test(n))) {
    node.parentNode = null;
  }
  super.retainWhere(test);
}