기존의 나는 integer 타입의 데이터가 들어있는 배열에만
sort 메서드를 사용해왔었고, 어느새 오름차순, 내림차순 정렬만 기억하고 있었다.
하지만 알고리즘 문제를 풀던 중 문자열을 정렬해야 할 필요가 있었고
integer를 정렬할 때의 방식대로 오름차순, 내림차순을 통해
string 배열을 정렬했을 때 전혀 정렬이 되지 않은 모습을 확인할 수 있었다.
위의 코드를 보고 문자열을 정렬하기 위해선
처리해주는 방식이 달라야 한다는 것을 알게되었다.
arr.sort([compareFunction])
위의 구문에서 compareFunction을 생략하면
배열은 각 요소의 문자열 변환에 따라
각 문자의 유니 코드 코드 포인트 값에 따라 정렬된다.
유니코드가 정확하게 무엇인지는 알지 못하지만
sort()만 작성해줬을 때, 문자열도 정렬이 가능하다는 것은 알 수 있었다.
개발자 도구를 통해 문자열 정렬을 테스트했을 때
정상적으로 정렬된 것을 확인했다.
메서드를 사용하는 건 자신의 마음대로 해도 된다.
하지만 오늘처럼 메서드에 대한 이해 없이 사용하고자 했을 때
그 원인을 찾는 데 시간을 투자하고, 결국 해결하고자 하는
일이 미뤄진다는 것을 느꼈다.
결론 : 메서드 하나를 사용하더라도 이해하고 사용하는 태도를 지녀야 한다.
Reference
[MDN - sort 메서드] https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
'TIL' 카테고리의 다른 글
Window 객체와 Document 객체 (0) | 2023.03.23 |
---|---|
Next.js에서의 Tailwind 설치 & 세팅 (0) | 2023.03.13 |
Flux pattern (0) | 2023.02.28 |
MVC Design Pattern (0) | 2023.02.27 |
Tree shaking & Code Splitting (0) | 2023.02.16 |