发布于 2019-01-15 18:24:52
Map.fromEntries构造函数用于通过生成一组对来创建映射。
您可以使用它从另一个映射创建一个映射为Map.fromEntries(otherMap.entries),但这是浪费的。你可以直接做Map.from(otherMap)。
更有趣的是,如果您从其他东西(可能本身也可能不是条目)计算条目。示例:
Iterable<int> someInts = [2, 7, .... ];
var squareMap = Map.fromEntries(someInts.map((n) => MapEntry(n, n * n)));
print(squareMap[7]); // prints 49.或者你可以以某种方式过滤条目:
var filteredMap = Map.fromEntries(otherMap.entries.where((e) => e.key.isOdd));通过使用Map.fromIterable或Map.fromIterables,您通常可以获得相同的效果,这完全取决于您可用的原语。使用Map.fromEntries过滤现有映射的条目特别容易,而使用Map.fromIterable或Map.fromIterables从头创建新映射可能也同样容易。
https://stackoverflow.com/questions/54200091
复制相似问题