You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dart中用indexWhere查找含指定键的Map所在列表索引

在Dart中用indexWhere查找包含指定键的列表元素索引

你可以按以下方式实现需求:

  1. 先明确你的列表类型为List<Map<String, dynamic>>(因为每个元素是包含单个键值对的Map);
  2. 调用indexWhere方法,在回调函数里检查每个Map是否包含目标键。

完整代码示例

void main() {
  // 定义你的数据列表
  final List<Map<String, dynamic>> gameStats = [
    {'game29HakakianSchopf': {'assists': 0, 'points': 0, 'rebounds': 0, 'fouls': 3}},
    {'game30HakakianSchopf': {'assists': 0, 'points': 0, 'rebounds': 0, 'fouls': 3}}
  ];

  // 指定要查找的目标键
  const targetKey = 'game29HakakianSchopf';

  // 使用indexWhere查找对应索引
  int targetIndex = gameStats.indexWhere((element) => element.containsKey(targetKey));

  // 处理查找结果
  if (targetIndex != -1) {
    print('目标键所在索引:$targetIndex');
  } else {
    print('未找到指定键');
  }
}

关键说明

  • indexWhere会遍历列表,对每个元素执行回调逻辑,返回第一个满足条件的元素索引;
  • 如果遍历结束后没有找到符合条件的元素,indexWhere会返回-1,建议对这种情况做判断处理;
  • 借助Map的containsKey方法,能直接判断当前元素是否包含目标键,逻辑简洁高效。

内容的提问来源于stack exchange,提问作者splurring

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 19:50:13