Flutter 如何从映射中删除null和0?
很长一段时间以来,我试图从地图中删除NULLFlutter 如何从映射中删除null和0?,flutter,dart,Flutter,Dart,很长一段时间以来,我试图从地图中删除NULL sortedMap.removeWhere((key, value) => value == "NULL"); sortedMap.removeWhere((key, value) => value == NULL); …但是,这无法完成,我决定设置默认值“无数据”,这解决了问题 sortedMap.removeWhere((key, value) => value == "No
sortedMap.removeWhere((key, value) => value == "NULL");
sortedMap.removeWhere((key, value) => value == NULL);
…但是,这无法完成,我决定设置默认值“无数据”,这解决了问题
sortedMap.removeWhere((key, value) => value == "No Data");
这就解决了问题!现在,我无法从映射中删除值“0”
sortedMap.removeWhere((key, value) => value == "0");
sortedMap.removeWhere((key, value) => value == 0);
这是我的地图:
{h_1: 0, h_2: 1, h_3: 1, h_4: 1, h_5: 0, h_6: 1}
请告诉我。
如何解决这个问题
感谢您的帮助这和您的解决方案一样吗?
就我而言,它工作得很好。
什么是NULL?您要删除的可能是null (Null在下面的例子中是来自dart:core的类)
你的代码应该有效,你能在地图上提供更多信息吗?Dart使用
null
,而不是null
。它也是强类型的,意思是“0”!=0和“空”!=空
。非常感谢,它成功了!代码是正确的,问题是,这仍然是一个假设,需要执行完全重新启动。thnx!!!我从服务器获取了这个,{time_21:2020-10-22 03:28:16,time_10:NULL,time_1:2020-11-11:28:16,time_2:NULL,time_15:NULL}
在我编写命令之前,这些值都没有被删除。不幸的是,在为默认的“无数据”赋值之前,删除空值的问题已经部分解决。我还是不明白。是什么导致了这个错误=/完全正确!我写了相同的行map.removeWhere((键,值)=>value==0)代码>但是,这不起作用,在乘车后日志中有值为0的对象删除了这些对象。但是,现在所有对象都被删除了。。老实说,我很震惊……)也许,有必要不进行“热”重新加载,而是完全重新加载……,无论如何……非常感谢您的回复=)
void main() {
Map data = {'h_1': 0, 'h_2': 1, 'h_3': 1, 'h_4': 1, 'h_5': 0, 'h_6': 1};
print(data);
data.removeWhere((k, v) => v == 0);
print(data);
}
import 'package:flutter_test/flutter_test.dart';
void main() {
test(
'Remove null',
() {
Map<String, dynamic> map = {
'a': 1,
'b': 2,
'c': null,
'd': 4,
};
print(map);
map.removeWhere((key, value) => value == Null);
print(map);
map.removeWhere((key, value) => value == null);
print(map);
// assert
},
);
}
{a: 1, b: 2, c: null, d: 4}
{a: 1, b: 2, c: null, d: 4}
{a: 1, b: 2, d: 4}
✓ Remove null