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();
我尝试从 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();