【发布时间】: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?
【问题讨论】:
标签: list flutter dictionary dart
我有一张地图
Map<String, List> map1 = {a: [1,2,3,4], b: [5,6,7,8], c: [9,10,11]};
我知道其中一个列表的值之一 - 1..11。 如何获取该值所属的地图实体的键 - a、b、c?
【问题讨论】:
标签: list flutter dictionary dart
我找到了解决办法
int valueToLookFor = 5;
String keyName = map1.keys.firstWhere((key) => map1[key]!.contains(valueToLookFor));
【讨论】:
试试这个,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
}
【讨论】: