如何在Dart中按价格订购对象?

时间:2019-06-19 16:48:14

标签: dart

我试图根据每个对象的价格对对象列表进行排序。但是,我遇到了这个错误the expression here has a type of void, and therefore it cannot be used

class Item{
  String productName;
  double price;
}

List<Item> items = ...;

items.sort((a, b) => a.price.compareTo(b.price));

1 个答案:

答案 0 :(得分:0)

List.sort修改调用它的对象。它不返回任何值,您必须使用原始列表。

var list = [3, 1, 2];
list.sort();
print(list); // displays [1, 2, 3]

如果要内联.sort()以直接使用列表,则可以使用cascade notation

var list = [3, 1, 2]..sort();
print(list); // displays [1, 2, 3]

// or 
var list = [3, 1, 2];
print(list..sort()); // displays [1, 2, 3]