dropWhile<T> function

List<T> dropWhile<T>(
  1. List<T> list,
  2. bool test(
    1. T element
    )
)

starts removing elements from the starting of list until condition becomes false

var list = <int>[2, 1, 3, 4, 5];
list.dropWhile((element) => element <= 3); // list = [4, 5];

Implementation

List<T> dropWhile<T>(List<T> list, bool Function(T element) test) {
  var result = <T>[];
  if (list.isNotEmpty) {
    var index = list.length - 1;
    while (index >= 0) {
      if (test(list[index])) {
        break;
      }
      result.add(list[index]);
      index--;
    }
  }
  return result;
}