Dart相当于Array.prototype.map()?

Hen*_*Jan 7 javascript arrays dart

我尝试从Dart中的地图列表中获取id. 在JavaScript中它将是这样的:

var list = [{id:3, name:'third'}, {id:4, name:'fourth'}];
var result = list.map(function(x){return x.id;});
Run Code Online (Sandbox Code Playgroud)

这应该给出结果

[3, 4]
Run Code Online (Sandbox Code Playgroud)

在Dart有一个简单的方法吗?


到目前为止,我能够做到这一点(在Dart中):

var list = [{'id':3, 'name':'third'},{'id':4, 'name':'fourth'}];
var result = list.map((x) => x['id']);
Run Code Online (Sandbox Code Playgroud)

结果是"MappedListIterable"(不确定是什么),你不能result[0]像普通List那样使用.我怎样才能列出这个?

Asa*_*din 6

请参阅List.mapAPI和IterableAPI(它返回).您可以n使用.elementAt(n)或使用第一个元素从iterable中获取th元素.first.

var list = [{'id':3, 'name':'third'},{'id':4, 'name':'fourth'}];
var result = list.map((x) => x['id']).first;
Run Code Online (Sandbox Code Playgroud)

你也可以把它变成一个List使用.toList():

var resultList = list.map((x) => x['id']).toList();
Run Code Online (Sandbox Code Playgroud)