如何在Dart中对MappedListIterable进行排序

时间:2016-12-23 15:00:20

标签: dart dart-html

我得到的MappedListIterable比我知道要排序

调用排序方法时,我正在

  

EXCEPTION:NoSuchMethodError:Class' MappedListIterable'没有   实例方法' sort'。接收者:MappedListIterable'的实例   尝试调用:sort(闭包:(动态,动态)=>动态)

1 个答案:

答案 0 :(得分:3)

MappedListIterable上致电.map(f)后,您获得Iterable

Iterable class没有sort()方法。此方法位于List

首先,您需要通过调用ListMappedListIterable获取.toList()

var i = [1, 3, 2].map((i) => i + 1);
// i is a MappedListIterable
// you can not call i.sort(...)

var l = i.toList();
l.sort(); // works

或者在一行(代码 - 高尔夫):

var i = [1, 3, 2].map((i) => i + 1).toList()..sort();