どうも、ちょげ(@chogetarou)です。
Mapで値からキーを取得する方法を紹介します。
方法

Mapの値からキーを取得するには、keysプロパティとfirstWhereメソッドを使います。
まず、Mapのkeysプロパティにアクセスします。
次に、kesyからfirstWhereメソッドを呼び出します。
そして、firstWhereメソッドの第1引数で、対象の値と一致するキーを条件式で検索します。
第2引数には、キーが見つからなかった時に返す値を指定します。
//第1引数でvalueに一致するキーを取得
map.keys.firstWhere((key) => map[key] == value, orElse:()=> null);
firstWhereメソッドは、値に一致するキーを返します。
使用例
void main() {
var map = {
'One' : 1,
'Two' : 2,
'Three' : 3
};
//2のキーを取得
var twoKey = map.keys.firstWhere((key) => map[key] == 2, orElse: ()=> 'Not Found');
print(twoKey); //Two
}
コメント