[JS]문자열 내 마음대로 정렬하기

GiSeong Lee·2022년 9월 30일
0
post-thumbnail

function solution(strings, n) {
    return strings.sort((a,b)=>{
        if(a[n] === b[n]){
            return(a>b)-(b>a)
        }
        else{
            return (a[n]>b[n])-(b[n]>a[n])}
    });
}

sort에는 매개변수로 compareFunction이 들어간다. 보통 다른 언어에서는 sort는 정수는 정수대로 정렬을 해주는데 Javascript에서는 문자열로 변경을 한 뒤에 정렬을 하기 때문에 9와 80을 정렬하면 80이 먼저오고 그 뒤에 9가 오게된다. 그래서 이 compareFunction을 사용하는데 MDN에서는 이렇게 알려준다.

if문을 활용해 반환값을 1과 -1로 돌려줌으로써 정렬을 시도한다. JS에서는 true=1, false=0 이기 때문에 문자열을 비교하면서 return에서 비교한 값을 반환해준다.

profile
프론트가 하고싶어요

0개의 댓글