Code Etc/코딩테스트

JavaScript Array.Sort() - 배열 오름차순, 내림차순 정렬하기

CoderHan 2022. 11. 12. 18:09
반응형
  arr.sort([compareFunction])

구문은 위와 같다.

sort안에 비교할 수 있는 func을 넣어주면 된다.

주로 callBack함수를 많이 사용하는데

(a,b) => a -b : 오름차순 정렬 / [4,2,1,0] => [0,1,2,4]

(a,b) => b - a : 내림차순 정렬 / [1,2,4,3] => [4,3,2,1]

처럼 정리된다.

 

오늘 코딩테스트 문제에서

예산에 관련된 문제를 풀었는데

핵심은 배열을 정렬하고 앞 원소부터 차례로 더한 뒤 예산을 초과하기 전 index를 반환하면 됐다.

 

나는 sort()만 해도 정렬이 오름차순으로 되는 것이 default인줄 알았는데 아니였다.

arr.sort()만 하면 

const array1 = [1, 30, 4, 21, 100000];
array1.sort();
console.log(array1);

// expected output: Array [1, 100000, 21, 30, 4]

이런 식으로 결과가 도출된다.

그러니 꼭 오름차순, 내림차순을 사용할 때 compareFunc을 기입해주자.

 

출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#%EA%B5%AC%EB%AC%B8

반응형