prefer_foreach

Group: style

Maturity: stable

Dart SDK: >= 2.0.0 • (Linter v0.1.31)

Since info is static, may be stale

View all Lint Rules

Using the Linter

DO use forEach if you are only going to apply a function or a method to all the elements of an iterable.

Using forEach when you are only going to apply a function or method to all elements of an iterable is a good practice because it makes your code more terse.

BAD:

for (final key in map.keys.toList()) {
  map.remove(key);
}

GOOD:

map.keys.toList().forEach(map.remove);

NOTE: Replacing a for each statement with a forEach call may change the behavior in the case where there are side-effects on the iterable itself.

for (final v in myList) {
  foo().f(v); // This code invokes foo() many times.
}

myList.forEach(foo().f); // But this one invokes foo() just once.