首页 > 解决方案 > 通过指定地图值查找地图列表索引

问题描述

我有一个包含地图的列表。我想通过提供 Map 值来了解特定 Map 的列表索引是什么。就我而言,唯一值是键“项目 ID”。

在下面的示例中,我如何找到 key 'itemID' == '222' 的地图的列表索引?

List<Map<String, dynamic>> itemList = [
    {
      'itemID': '111',
      'itemDescription': 'Lolipop',
    },
    {
      'itemID': '222',
      'itemDescription': 'Haribo',
    },
    {
      'itemID': '333',
      'itemDescription': 'KitKat',
    },
  ];

更新以添加代码示例。抱歉,这和 Dart 真的很陌生。

标签: dart

解决方案


尝试:

int indexWhereValue<K, V>(List<Map<K, V>> maps, K key, V value) => 
   maps.indexWhere((map) => map[key] == value);

推荐阅读