Dart 如何从列表中的映射中获取映射值列表?

Dart 如何从列表中的映射中获取映射值列表?,dart,Dart,假设我有一张这样的清单 List<Map<String, String>> names = [ {'name': 'John'}, {'name': 'Adam'}, {'name': 'Sean'}, {'name': 'Shirley'}, {'name': 'Samantha'}, ]; 列表名称=[ {'name':'John'}, {'name':'Adam'}, {'name':'Sean'}, {'name':'Shirley'}, {

假设我有一张这样的清单

List<Map<String, String>> names = [
  {'name': 'John'},
  {'name': 'Adam'},
  {'name': 'Sean'},
  {'name': 'Shirley'},
  {'name': 'Samantha'},
];
列表名称=[
{'name':'John'},
{'name':'Adam'},
{'name':'Sean'},
{'name':'Shirley'},
{'name':'Samantha'},
];
我如何才能仅检索映射内的值列表

我希望输出如下:

List<String> names = [
  'John',
  'Adam',
  'Sean',
  'Shirley',
  'Samantha',
];
列表名称=[
“约翰”,
“亚当”,
“肖恩”,
“雪莉”,
“萨曼莎”,
];
类似这样的内容:

void main() {
  List<Map<String, String>> names = [
    {'name': 'John'},
    {'name': 'Adam'},
    {'name': 'Sean'},
    {'name': 'Shirley'},
    {'name': 'Samantha'},
  ];

  final onlyNames1 = names.map((map) => map.values.first).toList();
  final onlyNames2 = names.expand((map) => map.values).toList();
  print(onlyNames1); // [John, Adam, Sean, Shirley, Samantha]
  print(onlyNames2); // [John, Adam, Sean, Shirley, Samantha]
}
void main(){
列表名称=[
{'name':'John'},
{'name':'Adam'},
{'name':'Sean'},
{'name':'Shirley'},
{'name':'Samantha'},
];
final onlyNames1=names.map((map)=>map.values.first.toList();
final onlyNames2=names.expand((map)=>map.values.toList();
打印(仅限名称1);//[约翰、亚当、肖恩、雪莉、萨曼莎]
印刷品(仅限名称2);//[约翰、亚当、肖恩、雪莉、萨曼莎]
}

好吧,我想我举了个坏例子。如果你不知道钥匙怎么办?我能做
map.values
?更新了我的代码,这样它将始终提取列表中每个映射的第一个值。还添加了一种方法来获取每个映射中的所有值。您也可以将其作为列表文字编写:
[for(名称中的变量名称)name[“name”]
谢谢,我忘了你可以这样做:)如果地图中有多个值,算法应该如何工作?例如,
{'name':'Samantha','lastName':'Fox'}
。请在问题中指出这一点。该算法是否应该以某种不可预测的方式工作(在本例中),或者是否有特定的要求?不会有,只有一个。