Flutter 从';地图<;字符串,ProductItem>;myMap';飞镖

Flutter 从';地图<;字符串,ProductItem>;myMap';飞镖,flutter,dart,Flutter,Dart,我有一张dart地图 Map<String, List<ProductItem>> _productItemsMap; Map\u productItemsMap; 我想筛选并获取新的Map\u newMap 它的产品项id与我的条件相同。 我用dart怎么做? 感谢您的帮助。以下是一些方法: 使用集合来创建新的地图,如果要过滤: var\u newMap={ for(productItemsMap.entries中的var条目) if(满足条件(entry.key,

我有一张dart地图

Map<String, List<ProductItem>> _productItemsMap;
Map\u productItemsMap;
我想筛选并获取新的
Map\u newMap
它的产品项id与我的条件相同。 我用dart怎么做? 感谢您的帮助。

以下是一些方法:

使用集合来创建新的
地图
,如果要过滤:

var\u newMap={
for(productItemsMap.entries中的var条目)
if(满足条件(entry.key,entry.value))
entry.key:entry.value,
};
使用
Iterable.where
进行筛选,并使用Map.fromEntries`创建一个新的
Map

var\u newMap=Map.fromEntries(\u productItemsMap.entries
.式中((条目)=>满足条件(条目.键,条目.值));
首先用
Map.of
复制
Map
,然后删除不需要的项目:

var\u newMap=Map.of(\u productItemsMap)
..removeWhere((键,值)=>!satisifiesCondition(键,值));

您能否添加_productItemsMap的样本或可能值以及由此产生的预期结果?现在,我已经按照下面的@jamesdlin示例进行了添加。谢谢你的帮助@Viren V Varasadiya:)