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

Dart equivalent of Array.prototype.map()?

我尝试从 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"(不确定那是什么),您不能像使用普通列表那样使用 result[0]。我怎样才能列出这个清单?

API for List.map and the API for Iterable(即returns)。您可以使用 .elementAt(n) 从可迭代对象中获取第 n 个元素,或者使用 .first.

从第一个元素获取
var list = [{'id':3, 'name':'third'},{'id':4, 'name':'fourth'}];
var result = list.map((x) => x['id']).first;

您也可以使用 .toList():

将其变回 List
var resultList = list.map((x) => x['id']).toList();