부울 값으로 개체 목록 정렬 [중복]
Aug 21 2020
내 서비스에 전화를 걸어 물건 목록을 받았습니다. 이것은 내 개체 스키마입니다.
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);
이 구문은 다트 용이 아닙니다 !! Flutter로 어떻게 할 수 있습니까?
답변
1 sayreskabir Aug 21 2020 at 19:03
이 답변 에 따르면 올바른 결과를 얻었습니다 .
bool에 대한 자신의 비교 함수를 정의하고 List의 정렬 방법에 전달할 수 있습니다.
부울 목록으로 부울을 사용한 예 :
booleans.sort((a, b) {
if(b) {
return 1;
}
return -1;
});
이 예제는 true 요소가 false 요소보다 높게 정렬되어야한다고 sort 메소드에 알려줍니다.
AlperenEkin Aug 21 2020 at 19:12
MyCard 클래스에서 Comparable을 구현하고 필요에 따라 compareTo 메서드를 재정의하고 사용할 수 있다고 생각합니다.
그 예를 살펴볼 수 있습니다.
https://www.woolha.com/tutorials/dart-sorting-list-with-comparator-and-comparable