簡體   English   中英

從 Map 獲取密鑰<string,list<string> &gt; 知道列表值之一</string,list<string>

[英]get key from Map<String,List<String>> knowing one of the List values

我有一個 map

Map<String, List> map1 = {a: [1,2,3,4], b: [5,6,7,8], c: [9,10,11]};

我知道其中一個列表的值之一 - 1..11。 如何獲取該值所屬的 map 實體的密鑰 - a、b、c?

我找到了解決方案

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM