【问题标题】:get key from Map<String,List<String>> knowing one of the List values从 Map<String,List<String>> 获取密钥,知道列表值之一
【发布时间】: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


    【解决方案1】:

    我找到了解决办法

    int valueToLookFor = 5;
    
    String keyName = map1.keys.firstWhere((key) => map1[key]!.contains(valueToLookFor));
    

    【讨论】:

      【解决方案2】:

      试试这个,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
      }
      

      【讨论】:

      • 是的,实际上我找到了相同的解决方案,并且我们在同一时间发布了答案jaja...无论如何,将您的回复标记为解决方案。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      • 2021-09-04
      • 2023-03-23
      • 2021-11-13
      • 1970-01-01
      • 2020-08-01
      相关资源
      最近更新 更多