检查地图的键中是否有特定的字符串,然后给我属于该键的值,Dart

tes*_*rma 19 dictionary dart flutter

我可以问如何检查 String,String 的映射在其键中是否有特定的字符串,然后我想获取属于包含目标字符串的特定键的值。例如这张地图

Map<String, String> ListFinalAllInfos = {'stackoverflow': 'one', 'google': 'two'};
Run Code Online (Sandbox Code Playgroud)

我想检查这张地图的键中是否有这个字符串

stackoverflow
Run Code Online (Sandbox Code Playgroud)

如果 stackoverflow 作为地图中的键存在,那么我想获取的值是

one
Run Code Online (Sandbox Code Playgroud)

如果可能的话,无需将地图转换为列表。提前致谢

cyb*_*ail 21

Map<String, String> ListFinalAllInfos = {'stackoverflow': 'one', 'google': 'two'};
String key = ListFinalAllInfos.containsKey("stackoverflow"); // search for the key. for example stackoverflow
String value = ListFinalAllInfos[key]; // get the value for the key, value will be 'one'
if(ListFinalAllInfos.containsKey(value)){ //check if there is a key which is the value you grabbed
  return true;
}
Run Code Online (Sandbox Code Playgroud)


har*_*era 8

您可以使用map的containsKey(Object? key)方法来了解它是否有匹配的键。如果此映射包含给定的 [key],则此方法返回 true。因此,根据您的问题,要检查地图是否有此键,只需使用:

final hasKey = listFinalAllInfos.containsKey("stackoverflow");
Run Code Online (Sandbox Code Playgroud)

现在你知道地图是否有钥匙了。基于此,要获取相应键的值,只需使用:

final valueOfKey = listFinalAllInfos["stackoverflow"];
Run Code Online (Sandbox Code Playgroud)

这将返回与映射中的键关联的值。