如何根据flutter dart中的条件从map中获取值?

问题描述 投票:0回答:1

使用map.entries属性我想获取地图数据中的所有值

我有任何其他解决方案来获取此输出,但我希望它使用 map.entries 属性来解决它...

当值不偶数时返回 null

输出应该是 [2,4] 而不是 [null,2,null,4]

void main() {
  final  myMap={
    'first':1,
    'second':2,
    'three':3,
    'four':4,
  };

  List<dynamic> list=[];

  list=myMap.entries.map((e) {
    if(e.value%2==0)
    return e.value;
    
  }).toList();
  print(list);



}
flutter
1个回答
0
投票

尝试下面的代码并尝试使用where条件/方法来过滤空值

void main() {
  final myMap = {
    'first': 1,
    'second': 2,
    'three': 3,
    'four': 4,
  };

 
  List<dynamic> list = myMap.entries
      .map((e) => e.value % 2 == 0 ? e.value : null)
      .where((value) => value != null)
      .toList();

  print(list); 
}

阅读where方法

© www.soinside.com 2019 - 2024. All rights reserved.