인프런 커뮤니티 질문&답변

문제훈님의 프로필 이미지
문제훈

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

9. 결혼식

sort 할 때 문자열은 자동으로 유니코드값으로 변환되어 계산되지 않나요?

작성

·

393

0

 timeLine.sort((a, b) =>
    a[0] == b[0] ? a[1] - b[1] : a[0] - b[0]
  );

 

sort는 문자열을 값으로 가진 비교는 자동으로 유니코드값으로 변환되어 비교하는줄 알았는데 저렇게 하니

 

[ [ 5, 's' ], [ 12, 's' ],

[ 14, 's' ], [ 14, 'e' ],

[ 15, 'e' ], [ 15, 's' ],

[ 18, 'e' ], [ 20, 'e' ],

[ 20, 's' ], [ 30, 'e' ] ]

이렇게 s가 먼저 나올 때도 있고 e가 먼저 나올때도 있고 하더라구요

 

원래 sort 할 때 문자열은 자동으로 유니코드값으로 변환되어 비교되지 않나요?

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

자바스크립트 sort함수는 아무 인자도 넘기지 않았을 때 자동으로 문자열로 변환한 다음 유니코드에 의해 정렬을 해줍니다.

만약 인자(콜백함수)를 넘기면 타 언어와 달리 정확하게 문자를 아스키값으로 바꿔 그 계산값이 양수, 0, 음수로 전달되게 해주어야 합니다.

문제훈님의 프로필 이미지
문제훈

작성한 질문수

질문하기