Flutter Dart:从值中找到键并添加到新列表中
我试图搜索某些值并添加到列表中Flutter Dart:从值中找到键并添加到新列表中,flutter,dart,Flutter,Dart,我试图搜索某些值并添加到列表中 a = [ {anna: 2}, {jane: 9}, {paul: 1}, ] b = [1, 2], 我想从列表b的值中搜索列表a上的名称。使列表c变为 [paul, anna] 我成功地循环了列表b。但是,我无法查找值并返回要添加到列表c中的键 List.generate( b.length, (index) { <----- stuck -----> }); List.generat
a = [
{anna: 2},
{jane: 9},
{paul: 1},
]
b = [1, 2],
我想从列表b
的值中搜索列表a
上的名称。使列表c变为
[paul, anna]
我成功地循环了列表b
。但是,我无法查找值并返回要添加到列表c
中的键
List.generate(
b.length, (index) {
<----- stuck ----->
});
List.generate(
b、 长度(索引){
});
我知道我可以使用.addAll添加到列表c
。如何返回列表a的键值?也许您可以试试这个
var a = [
{"anna": 2},
{"jane": 9},
{"paul": 1},
];
var b = [1, 2];
List c = [];
for (var item in a) if(b.contains(item.values.first)) c.add(item.keys.first);
也许你可以试试这个
var a = [
{"anna": 2},
{"jane": 9},
{"paul": 1},
];
var b = [1, 2];
List c = [];
for (var item in a) if(b.contains(item.values.first)) c.add(item.keys.first);
这是另一个解决方案:
var names = a.where((e) => b.contains(e.values.first)).map<String>((e) => e.keys.first).toList();
var name=a.where((e)=>b.contains(e.values.first)).map((e)=>e.keys.first).toList();
这是另一种解决方案:
var names = a.where((e) => b.contains(e.values.first)).map<String>((e) => e.keys.first).toList();
var name=a.where((e)=>b.contains(e.values.first)).map((e)=>e.keys.first).toList();
你确定你有一个列表而不仅仅是一个地图吗?这是因为数据来自mongoDB。你确定你有一个列表而不仅仅是一个地图吗?这是因为数据来自mongoDB。