listSubtract<T> function

List<T> listSubtract<T>(
  1. Iterable<T> original,
  2. Iterable<T> sublist
)

Subtract elements one at a time

Implementation

List<T> listSubtract<T>(Iterable<T> original, Iterable<T> sublist) {
  List<T> result = List.from(original);

  for (T v in sublist) {
    for (int i = 0; i < List.from(result).length; i++) {
      if (deepEquals(v, result[i])) {
        result.removeAt(i);
        break;
      }
    }
  }

  return result;
}