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

Flutter:如何从Map列表中获取匹配的Map元素

筛选列表中指定name的Map元素

假设你的列表数据如下:

map_list = [
    {'name': 'name1', 'age': 30},
    {'name': 'name2', 'age': 20},
    {'name': 'name1', 'age': 15}
]

实现方式

Python

用列表推导式直接完成筛选:

filtered_list = [item for item in map_list if item.get('name') == 'name1']

执行后filtered_list会包含目标元素:

[{'name': 'name1', 'age': 30}, {'name': 'name1', 'age': 15}]

Java

如果是Java环境,用流操作筛选List<Map<String, Object>>类型的数据:

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class FilterMapList {
    public static void main(String[] args) {
        List<Map<String, Object>> mapList = List.of(
            Map.of("name", "name1", "age", 30),
            Map.of("name", "name2", "age", 20),
            Map.of("name", "name1", "age", 15)
        );

        List<Map<String, Object>> filteredList = mapList.stream()
            .filter(item -> "name1".equals(item.get("name")))
            .collect(Collectors.toList());

        filteredList.forEach(System.out::println);
    }
}

JavaScript

使用数组的filter方法实现:

const mapList = [
    {name: 'name1', age: 30},
    {name: 'name2', age: 20},
    {name: 'name1', age: 15}
];

const filteredList = mapList.filter(item => item.name === 'name1');
console.log(filteredList);

通用逻辑

不管用哪种语言,核心步骤都是:

  • 遍历列表中的每个Map元素
  • 检查元素的name字段值是否为name1
  • 收集所有符合条件的元素组成新列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:20:32