last<T> static method

T? last<T>(
  1. Iterable<T> list, {
  2. bool predicate(
    1. T
    )?,
  3. T? defaultValue,
})

Returns the last element matching predicate, or defaultValue.

Implementation

static T? last<T>(
  Iterable<T> list, {
  bool Function(T)? predicate,
  T? defaultValue,
}) {
  T? result = defaultValue;
  var found = predicate == null;
  for (final v in list) {
    if (predicate == null || predicate(v)) {
      result = v;
      found = true;
    }
  }
  return found ? result : defaultValue;
}