differenceBy<T, K> function
Implementation
List<T> differenceBy<T, K>(Iterable<T>? list, [Iterable<T>? values, K Function(T)? call]) {
if (list == null) {
return [];
}
if (values == null || call == null) {
return [...list];
}
Set<K> set = {};
for (var v in values) {
set.add(call.call(v));
}
List<T> rl = [];
for (var v in list) {
if (!set.contains(call.call(v))) {
rl.add(v);
}
}
return rl;
}