Sort an Array of Objects by Boolean property
2022-07-14
이슈
sort 기준
1 순위 : isBookmarked === true 이고 isAble === true
2 순위 : isBookmarked === true 이고 isAble === false
3 순위 : isAble === true
기존코드는 위의 정렬 기준에 따라 if, else if를 사용하여 임시변수에 담는 방식으로 개발되어있었는데,
JavaScript Array 내장 메소드인 sort()를 사용하며 리팩토링 해보았습니다.
참고 자료
해결 코드
true = 1, false = 0 으로 값을 변경하여,
a - b 는 오름차순으로 정렬하므로, b - a 로 해야 true가 앞에 놓이게 됩니다.
Number(b.isAble) - Number(a.isAble) // isAble === true
인 순서대로 정렬시킵니다.
그 후 Number(b.bookmark) - Number(a.bookmark) // isBookmarked === true
인 순서로 정렬시키므로,
위에 명시한 sort 기준대로 정렬되게 됩니다.
Last updated
Was this helpful?