꾸준하게 거북이처럼

JS sort()로 숫자 / 다중 조건 오름차순 정렬하기 본문

개인공부/JS

JS sort()로 숫자 / 다중 조건 오름차순 정렬하기

somm12 2023. 5. 18. 17:24

숫자 배열 정렬하기

sort() 함수는 파라미터(compareFunction)가 입력되지 않으면, 유니코드 순서에 따라서 값을 정렬한다. 

따라서 숫자를 오름차순 정렬할 때는 예를들어 다음과 같이 정렬가능하다.

let arr= [1,10,5,6];
arr.sort((a, b) => a - b);// 1, 5, 6, 10 오름차순
arr.sort((a,b) => b - a);//10, 6, 5, 1 내림차순
console.log(arr);

파이썬의 sort와 다르니 조심하자.

다중조건으로 정렬하기

객체를 담은 배열이 있을 때, 나이 순으로 오름차순 및 나이가 같은 때 이름 순으로 오름차순에 맞게 정렬한다고 하자.

const data = [
  { age: 19, name: '김씨' }, 
  { age: 25, name: '박씨' }, 
  { age: 18, name: '김씨' }, 
  { age: 19, name: '나씨' },
];

data.sort((a, b) => a.age - b.age || a.name.localeCompare(b.name));

앞부분 조건이 서로 같다의 결과가 나오면 OR연산자에 의해서 두 번째 조건으로 판단하게 된다.

 

 

 

[Javascript] 배열 정렬하기 (오름차순, 내림차순, 문자열, 객체)

배열 정렬하기 (오름차순, 내림차순, 문자열, 객체) 1. sort() 함수 2. sort() 함수로 숫자 오름차순 정렬하기 3. sort() 함수로 숫자 내림차순 정렬하기 4. sort() 함수로 문자열 정렬하기 5. sort() 함수로

hianna.tistory.com

 

Comments