flutter 如何获取Map中键/值对的索引?

6uxekuva  于 2023-05-19  发布在  Flutter
关注(0)|答案(4)|浏览(236)

我有下面的Map

final CountryCodeToName =
  {
    "US": "01",
    "GBP": "17",
    "EUR": "33"
  };

使用此Map,我可以成功地从数值中检索Currency名称,如下所示

CountryCodeToName.entries.firstWhere((element) => element.value=='33').key  // returns EUR

但是,是否也有地方可以返回该值的索引呢?在上面的例子中,它是2(3也可以)
谢谢!

9cbw7uwe

9cbw7uwe1#

您可以创建一个键的列表和另一个值的键,无论您想要什么,并像平常一样访问该列表的索引

void main() {
  
  final myList =
  {
    "US": "01",
    "GBP": "17",
    "EUR": "33"
  };
  
  var values = myList.values.toList();
  var keys = myList.keys.toList();
  
  print(values[2]);
  print(keys[2]);
}
nsc4cvqm

nsc4cvqm2#

CountryCodeToName.values.toList().indexWhere((element) => element=='33') // gives 2
0kjbasz6

0kjbasz63#

您可以为此Map的值列表创建单独的列表,然后从该列表中获取该特定值索引的索引。

List<String> valueList= CountryCodeToName.values.toList();
int index= valueList.indexOf("33");
lxkprmvk

lxkprmvk4#

你可以用你的国家列表,并将其转换成Map

myList.asMap().entries.map((entry) {
    int idx = entry.key;
    String val = entry.value;

    return something;
}

相关问题