[Dart]Map(マップ)で値からキーを取得するには?

Dart

どうも、ちょげ(@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
}

コメント

タイトルとURLをコピーしました