首页 文章

如何在Dart中对MappedListIterable进行排序

提问于
浏览
1

我有一个 MappedListIterable 比我知道要排序

调用sort方法时,我得到了

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

1 回答

  • 3

    Iterable 上调用.map(f)后得到 MappedListIterable .

    Iterable class没有 sort() 方法 . 此方法在List上 .

    因此,首先需要通过调用 .toList()MappedListIterable 获取 List .

    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();
    

相关问题