List 从列表中删除其他列表中缺少的元素
我想从列表中删除不在另一个列表中的元素。如果我有List 从列表中删除其他列表中缺少的元素,list,flutter,List,Flutter,我想从列表中删除不在另一个列表中的元素。如果我有 List a = [{"id": 1}, {"id": 2}, {"id": 4}, {"id": 7},] List b = [{"id": 1}, {"id": 2}, {"id": 7},] 然后我想从列表a中删除元素{“id”:4},因为它在列表b中缺失 如果清单b是 List b = [{&qu
List a = [{"id": 1}, {"id": 2}, {"id": 4}, {"id": 7},]
List b = [{"id": 1}, {"id": 2}, {"id": 7},]
然后我想从列表a中删除元素{“id”:4}
,因为它在列表b中缺失
如果清单b是
List b = [{"id": 1}, {"id": 2}, {"id": 4},]
然后我想从列表中删除一个元素{“id”:7}
如何在颤振中执行此操作
多谢各位
void main() {
var a = [{"id": 1}, {"id": 2}, {"id": 4}, {"id": 7}];
var b = [{"id": 1}, {"id": 2}, {"id": 7}];
var c = a.map((m) => m['id']);
var d = b.map((m) => m['id']);
var e = c.toSet().difference(d.toSet());
var f = a.where((m) => e.contains(m['id']));
print(f);
}
结果
({id: 4})
我是这样修好的
List a = [{"id": 1}, {"id": 2}, {"id": 4}, {"id": 7}];
List b = [{"id": 1}, {"id": 2}, {"id": 7}];
a.removeWhere((elementA) => b.every((elementB) =>
elementB["id"] != elementA["id"]));
我做了这个a.removehere((elementA)=>b.every((elementB)=>elementB[“id”!=elementA[“id”]);因为我需要一个没有b元素缺失的a,而不是一个没有b元素的a。我希望没问题