如何搜索类对象的列表,其中一个属性与另一个字符串列表中的任何值匹配
我能够基于单个字符串进行过滤,但不能基于字符串列表
final List<shop_cart.ShoppingCart> cartprd = snapshot.documents
.map((f) => shop_cart.ShoppingCart.fromMap(f.data))
.toList();
最佳答案
List<SomeClass> list = list to search;
List<String> matchingList = list of strings that you want to match against;
list.where((item) => matchingList.contains(item.relevantProperty));
如果
list
中的项目数很大,您可能需要执行以下操作: List<SomeClass> list = list to search;
List<String> matchingList = list of strings that you want to match against;
final matchingSet = HashSet.from(matchingList);
list.where((item) => matchingSet.contains(item.relevantProperty));
或者只是始终将匹配的值存储为哈希集。
关于flutter - 如何通过 dart 中的另一个项目列表搜索对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56884062/