Sorting 按布尔值对对象列表排序
通过呼叫我的服务,我收到了一个对象列表。这是我的对象模式:Sorting 按布尔值对对象列表排序,sorting,flutter,dart,Sorting,Flutter,Dart,通过呼叫我的服务,我收到了一个对象列表。这是我的对象模式: class MyCard { final String number; final String name; final String available; final bool isOwn; const MyCard({ @required this.number, @required this.name, @required this.available, @required t
class MyCard {
final String number;
final String name;
final String available;
final bool isOwn;
const MyCard({
@required this.number,
@required this.name,
@required this.available,
@required this.isOwn,
});
}
我想根据isOwn==true对列表进行排序。因此,为了使用list.sort:
myCards.sort((a, b) => a.isOwn - b.isOwn);
此语法不适用于dart!!如何处理颤振?根据:
您可以为bool定义自己的比较函数,并将其传递给List的排序方法
以布尔值作为布尔值列表的示例:
booleans.sort((a, b) {
if(b) {
return 1;
}
return -1;
});
这个例子告诉排序方法,true元素的排序应该高于false元素。我认为可以从MyCard类实现Comparable,并根据需要重写compareTo方法并使用它。
你可以看看这个例子。
此链接是关于字符串的,但如何处理布尔值@onetwo12可以简化为:
booleans.sort((a,b)=>b1:-1)