some<T> function

bool some<T>(
  1. Iterable<T> collection,
  2. bool predicate(
    1. T value,
    2. int index,
    3. Iterable<T> collection
    )
)

Checks if predicate returns truthy for any element of collection. Iteration is stopped once predicate returns truthy. The predicate is invoked with three arguments: (value, index|key, collection).

Returns true if any element passes the predicate check, else false.

Arguments

  • collection (Iterable
  • predicate (bool Function(T value, int index, Iterable

Returns

  • bool: Returns true if any element passes the predicate check, else false.

Example:

some([null, 0, 'yes', false], (value) => value != null);
// => true

var users = [
  { 'user': 'barney', 'active': true },
  { 'user': 'fred', 'active': false }
];

// Using custom predicate
some(users, (user) => user['user'] == 'barney' && user['active'] == false);
// => false

// Using property check predicate
some(users, (user) => user['active'] == false);
// => true

// Using property exists predicate
some(users, (user) => user['active']);
// => true

Implementation

bool some<T>(Iterable<T> collection,
    bool Function(T value, int index, Iterable<T> collection) predicate) {
  int index = 0;
  for (T element in collection) {
    if (predicate(element, index, collection)) {
      return true;
    }
    index++;
  }
  return false;
}