从 DART 中的 List<Map<String,dynamic>> 中获取特定键的数组



我有一个包含以下值的列表:

List<Map<String, dynamic>> arrayTest = [{'id':'1','name':'test1'},{'id':'2','name':'test2'},{'id':'3','name':'test3'},{'id':'4','name':'test5'}];

我想把arrayTest变量中的所有id值都放到另一个List<dynamic>类型列表中。

我是一个新手,我尝试过.map()功能,但不知道如何做到这一点。

这将对您有所帮助!

List<dynamic> newList= arrayTest.map((m)=>m['id']).toList();
//replace m['id'] with your field !

我不确定你想要什么,也请在你的问题中添加预期的输出。

这就是你想要的:

void main() {
List<Map<String,dynamic>> arrayTest = [{'id':'1','name':'test1'},{'id':'2','name':'test2'},{'id':'3','name':'test3'},{'id':'4','name':'test5'}];
List list=[];
for(var array in arrayTest){
list.add(array['name']);
}
print(list);
}
OR
without for loop
void main() {
List<Map<String,dynamic>> arrayTest = [{'id':'1','name':'test1'},{'id':'2','name':'test2'},{'id':'3','name':'test3'},{'id':'4','name':'test5'}];

List list= arrayTest.map((array)=>array['name']).toList();
print(list);
}

输出:

[test1, test2, test3, test5]

最新更新