2015-04-26 3 views
7

Я пытаюсь получить идентификатор из списка карт в дротике. В JavaScript это будет что-то вроде этого:Дарт-эквивалент Array.prototype.map()?

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

Это должно дать результат

[3, 4] 

Есть простой способ сделать это в Дарта?


До сих пор я был в состоянии сделать это (в Дарта):

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

В результате «MappedListIterable» (не уверен, что это такое), и вы не можете использовать result[0], как вы может с обычным списком. Как я могу составить список этого?

ответ

6

См. API for List.map и API 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(); 
Смежные вопросы