flutter - 我怎样才能让这个 Map 双函数忽略/跳过空值?
问题描述
这里是:
Map<double, double> m2 = (await sheet.values.map.column(3, fromRow: 2))
.map((key, value) => MapEntry(double.parse(key), double.parse(value)));
List longitudelist = m2.values.toList();
我用它从 Google 表格中获取坐标。问题是,当没有纬度或经度时,整个事情都会崩溃。
我已经在它下面尝试过,但它没有用:
latitudelist.removeWhere((isEmpty) => isEmpty == "0.0");
错误:
未处理的异常:FormatException:无效的双精度
这是一个无效的替身,因为那里什么都没有。它不为空。如果纬度或经度坐标不存在,有人知道如何跳过值吗?
解决方案
您可以使用 collection-for 来避免首先尝试从值或空字符串创建Map
条目:null
Map<double, double> m2 = {
for (var mapEntry in (await sheet.values.map.column(3, fromRow: 2).entries)
if (mapEntry.key != null && mapEntry.key.isNotEmpty &&
mapEntry.value != null && mapEntry.value.isNotEmpty)
double.parse(mapEntry.key): double.parse(mapEntry.value),
};
List<double> longitudelist = m2.values.toList();
推荐阅读
- ios - 快速按钮无故变蓝
- sql-server - 使用 host.docker.internal 从 docker 连接到本地计算机(主机)中的 SQL Server
- r - 为什么我无法打印使用 knitr 包中的 kable 函数生成的正确输出?
- python-2.7 - python 2:使用日期时间索引对熊猫数据框进行切片会从想要的日期跳过一天
- go - golang string.ToLower 不工作
- java - Java Scanner,读取多行时没有此类元素异常
- java - 为什么我在 Java 中收到有关 Windows 文件路径的错误?
- image - 便门; 来自文件系统的图像。我添加了资源文件夹,并且仍在工作
- html - 在兄弟元素上应用没有 class 和 id 的 CSS
- c - 重新排序连续跨步像素阵列的最有效方法是什么?