intersection<T> function
返回所有数据中都有的数据(交集)
Implementation
List<T> intersection<T>(Iterable<Iterable<T>> list) {
List<T> rl = [];
Set<T> tmpSet = {};
List<Set<T>> tmpList = [];
for (var e in list) {
tmpList.add(Set.from(e));
}
for (var l in list) {
for (var lv in l) {
if (tmpSet.contains(lv)) {
continue;
}
bool has = true;
for (var ls in tmpList) {
if (!ls.contains(lv)) {
has = false;
break;
}
}
if (has) {
rl.add(lv);
tmpSet.add(lv);
}
}
}
return rl;
}