从 Map<String,List<String>> 获取密钥,知道列表值之一
Posted
技术标签:
【中文标题】从 Map<String,List<String>> 获取密钥,知道列表值之一【英文标题】:get key from Map<String,List<String>> knowing one of the List values 【发布时间】:2022-01-17 06:20:27 【问题描述】:我有一张地图
Map<String, List> map1 = a: [1,2,3,4], b: [5,6,7,8], c: [9,10,11];
我知道其中一个列表的值之一 - 1..11。 如何获取该值所属的地图实体的键 - a、b、c?
【问题讨论】:
【参考方案1】:我找到了解决办法
int valueToLookFor = 5;
String keyName = map1.keys.firstWhere((key) => map1[key]!.contains(valueToLookFor));
【讨论】:
【参考方案2】:试试这个,search
是您要在数组中查找的值。
请注意,如果在任何地方都找不到该值,firstWhere
可能会给您一个错误。
void main()
final data =
'a': [1, 2, 3, 4],
'b': [5, 6, 7, 8],
'c': [9, 10, 11]
;
final search = 4;
final selected = data.keys.firstWhere((key)
return data[key]!.contains(search);
);
print(selected); // a
【讨论】:
是的,实际上我找到了相同的解决方案,并且我们在同一时间发布了答案jaja...无论如何,将您的回复标记为解决方案。谢谢以上是关于从 Map<String,List<String>> 获取密钥,知道列表值之一的主要内容,如果未能解决你的问题,请参考以下文章
java 从数据库中返回来的数据list<Map<String ,Object>> 做拼接处理
怎么通过key从 Map<String, List<String>> map 里面取value?
未处理的异常:从 jsonplaceholder.typecode.com/photos 获取 Json 时,类型“List<dynamic>”不是“Map<String, dyna
从 initializer_list 构造 std::map<T, unique_ptr<S>> 时出错
从 Stream 检索快照时,Flutter/Firestore 返回类型 List<Review> 不是“Map<String, dynamic>”类型的子类型