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

时间:2015-04-26 23:47:27

标签: 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;});

这应该给出结果

[3, 4]

在Dart中有一种简单的方法吗?

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

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

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

1 个答案:

答案 0 :(得分:6)

请参阅API for List.mapAPI for Iterable(它返回)。您可以使用n从第一个元素获取.elementAt(n)元素,或者使用.first获取第一个元素。

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

您还可以使用List

将其重新转换为.toList()
var resultList = list.map((x) => x['id']).toList();