[JS] 왜 숫자 정렬이 안되지?

skyepodium·2022년 3월 17일
1

프로그래머스 K번째 수 문제를 보다가 알게되었습니다.

1. Array.prototype.sort()

자바스크립트 배열 정렬 메서드로 .sort() 를 사용합니다.

다만, MDN에 따르면 정렬 순서는 문자열의 유니코드를 따릅니다.

2. 언제 안되는데?

오름 차순 정렬을 했는데 -1.1-1 보다 크다고 나옵니다.

const a = [-1.1, -1, 0]

a.sort() // [-1, -1.1, 0]

a.sort((a, b) => a - b) // [-1.1, -1, 0]

3. 그래서 어떻게?

두수의 비교 방법을 통해 정렬을 진행합니다.

반환값이 참이 되도록 진행됩니다.

  • 음수 - 오름차순
  • 양수 - 오름 차순
const a = [-1.1, -1, 0]

// 오름차순
a.sort((a, b) => a - b)

// 내림차순
a.sort((a, b) => b - a)
profile
callmeskye

0개의 댓글