728x90
코딩을 하다보면 iterable 값들(elements)을 정렬 해 보여줘야 할 때가 있다.
예를 들어 각 element가 Voca 라는 class이고 각 instance에는 voca라는 속성이 있다고 하자.
alphabetical 오름차순으로 정렬한다면 아래와 같이 할 수 있다.
voca_list.sort((a, b) => a.voca.toLowerCase().compareTo(b.voca.toLowerCase()));
alphabetical 내림차순은 a,b의 순서가 바뀐다.
voca_list.sort((a, b) => b.voca.toLowerCase().compareTo(a.voca.toLowerCase()));
element에 있는 속성값으로 비교해서 정렬하기 힘들고, 특정 함수를 거쳐서 정렬해야 하는 경우에는 다음과 같이 함수를 직접 사용할 수 있다.
portfolio.account!.sort((a, b) =>
calculateEndDateAt(a.createdAt, a.periodInDays)
.compareTo(calculateEndDateAt(b.createdAt, b.periodInDays)));
728x90
'IT' 카테고리의 다른 글
[github] 로컬 프로젝트 github로 올려 관리하기 (0) | 2023.01.14 |
---|---|
[Flutter 앱 개발하기] TextField 에 숫자만 입력 받기 (0) | 2023.01.11 |
[Flutter 앱 개발하기] iterable 에 where 함수 사용하기 (1) | 2023.01.09 |
[Flutter 앱 개발하기] map 함수 사용하기 (0) | 2023.01.09 |
[Flutter 앱 개발하기] Unique ID 만들기 (0) | 2023.01.02 |