Dart中提取嵌套列表各子列表的首个元素
提取嵌套列表中每个子数组的第一个元素
现有一个嵌套列表:
List<List<double>> data = [[1,2,3],[1,2,3], [2,2,3], [2,2,3], [1,2,3], ...];需要提取每个子数组的第一个元素,生成如下新数组:
List<double> newData = [1,1,2,2,1.....];
方法1:使用map方法(推荐)
这是Dart中最简洁的实现方式,通过map遍历每个子列表并提取第一个元素,最后转换为列表:
List<double> newData = data.map((subList) => subList[0]).toList();
如果存在子列表为空的情况,建议添加非空判断避免索引越界异常:
// 用0.0作为空列表的默认值,可根据需求替换 List<double> newData = data.map((subList) => subList.isNotEmpty ? subList[0] : 0.0).toList();
方法2:使用循环遍历
如果更偏好直观的循环逻辑,可以手动遍历嵌套列表并收集目标元素:
List<double> newData = []; for (var subList in data) { if (subList.isNotEmpty) { newData.add(subList[0]); } }
内容的提问来源于stack exchange,提问作者flutter
相关产品推荐
相关产品推荐

