배열 정렬

허기웅·2024년 1월 4일
0

Sort - 배열을 정렬하여 반환하는데 쓰인다.

ex)

let a = [3, 2, 1, 8, 4, 5] 라는 배열이 있다고 가정할때 낮은 순서대로 정렬하고 싶을때

a.sort();

console.log(a);

콘솔에 [ 1, 2, 3, 4, 5, 8 ] 이렇게 정렬해서 반환해준다.

문제점 : .sort(비교함수)는 비교함수를 생략시 배열 요소들이 문자열로 ‘자동’ 변환되어 각 문자의 유니코드 코드 포인트 값에 따라 정렬됨.

유니코드란 유니코드 표준에서 각 문자에 할당된 고유한 숫자 값

그래서 let b = [5, 1, 4, 11, 9] 이렇게 배열이 되있으면

let b = [5, 1, 4, 11, 9];

b.sort();

console.log(b);

이렇게 되버리면 콘솔에 [ 1, 11, 4, 5, 9 ] 이렇게 정렬되서 반환되어 11인 값이 4,5,9보다 앞에 정렬된다.

해결법 : ()칸에 비교값을 넣어주면 됨 (a, b) ⇒ a - b

let b = [5, 1, 4, 11, 9];

b.sort(function(a, b) {
return a - b
});

b.sort((a, b) => {
return a - b
}); //function 제외하고 화살표 연결 가능.

b.sort((a, b) => a - b); // 리턴문이 한줄일땐 리턴 생략 가능.

console.log(b);

이렇게 해주면 콘솔에 [ 1, 4, 5, 9, 11 ]로 잘 정렬됨.

profile
반가워요.

0개의 댓글

관련 채용 정보