728x90
Javascript 에서 제공하는 배열의 정렬 함수를 사용했을 때, 다음 값으로 도출되는 것은 무엇일까?
let nums = [6214, -2290, 2833, -7908];
nums.sort();
console.log(nums);
정답! 당연히 [ -7908, -2290, 2833, 6214 ] 아닌가요?
그러나 틀렸다. 도출되는 값은 [ -2290, -7908, 2833, 6214 ] 이었다.
배열의 요소 값을 문자열로 변환하여 유니코드 값을 비교하기 때문이다. 따라서 함수를 따로 만들어줘야 내가 원하는 대로 오름차순과 내림차순의 결과값을 얻어낼 수 있다.
const nums = [6214, -2290, 2833, -7908];
// 오름차순
const compareDesc = (a, b) => {
return nums.sort((a, b) => a - b);
};
// 내림차순
const compareAsc = (nums) => {
return nums.sort((a, b) => b - a);
};
console.log(compareDesc(nums));
console.log(compareAsc(nums));
728x90
'Node.js' 카테고리의 다른 글
[Node.js] OpenSearch Node.js 클라이언트 (0) | 2022.12.20 |
---|---|
[Node.js] 문자열 표기법 - Camel Case, Pascal Case, Kebab Case, Snake Case (0) | 2022.07.21 |
[Node.js] 웹훅을 이용하여 Slack 에 메시지 전송하기 - 2. 테스트 (0) | 2021.10.22 |
[Node.js] 웹훅을 이용하여 Slack 에 메시지 전송하기 - 1. 설정하기 (0) | 2021.10.22 |
[Node.js] 특수문자 정규표현식 오류 (0) | 2021.10.22 |