본문 바로가기
Programming & Platform/JavaScript

JavaScript 배열 정렬 이해하기 sort((a, b) => a - b)의 원리,적용 방법

by 코드스니펫 2024. 3. 18.
반응형

JavaScript 배열 정렬 이해하기 sort((a, b) => a - b)의 원리와 적용 방법

 

javascript logo

 

자바스크립트에서 배열의 요소를 정렬하는 일은 상당히 흔한 작업 중 하나입니다. 특히 숫자 배열을 오름차순 또는 내림차순으로 정렬할 때 .sort() 메소드를 사용하는데, 이때 정렬 로직을 결정하는 '비교 함수'에 대한 이해가 필요합니다. 여기서는 .sort((a, b) => a - b) 비교 함수가 어떻게 동작하는지 쉽게 설명해 드리겠습니다.

 

 

JavaScript 배열 정렬

 

javascript 아이콘

 

1. .sort() 메소드의 기본 사용법

JavaScript의 .sort() 메소드는 배열의 요소들을 문자열로 변환한 후 유니코드 순서에 따라 정렬합니다. 이는 숫자 배열에는 적합하지 않은 방식이죠. 예를 들어, [10, 2, 1]을 정렬하면 ['1', '10', '2']가 되어 예상과 다르게 [1, 10, 2]로 정렬됩니다.

 

 

2. 비교 함수의 역할

.sort((a, b) => a - b)는 비교 함수로, 배열의 두 요소 a와 b의 대소 관계를 숫자로 반환해 정렬 순서를 결정합니다.

 

javascript logo 만든거

 

3. 오름차순 정렬의 원리

비교 함수 (a, b) => a - b의 반환 값에 따라 정렬이 결정됩니다.

 

  • 1. 반환 값이 음수인 경우: a가 b보다 앞에 위치합니다.
  • 2. 반환 값이 0인 경우: a와 b의 순서를 변경하지 않습니다.
  • 3. 반환 값이 양수인 경우: b가 a보다 앞에 위치합니다.

 

간단히 말해, a가 b보다 작으면 두 요소의 위치를 그대로 두고, a가 b보다 크면 위치를 바꾸는 것입니다.

 

 

4. 예시를 통한 이해

예를 들어 배열 [3, 1, 2]가 있다고 해봅시다. .sort((a, b) => a - b)를 적용하면 다음과 같은 과정을 거치게 됩니다.

 

  • 1. 3과 1을 비교: 3 - 1 = 2 (양수) → 1이 3보다 앞으로 갑니다.
  • 2. 3과 2를 비교: 3 - 2 = 1 (양수) → 2가 3보다 앞으로 갑니다.
  • 3. 1과 2를 비교: 1 - 2 = -1 (음수) → 위치를 바꾸지 않습니다.

 

최종적으로 [1, 2, 3]으로 오름차순 정렬됩니다.

 


 

끝으로

.sort((a, b) => a - b) 비교 함수는 배열을 숫자의 크기에 따라 오름차순으로 정렬할 때 사용되며, 매우 직관적이고 실용적인 방법입니다. 이 글을 통해 배열 정렬의 기본적인 이해를 돕고, 여러분의 자바스크립트 프로그래밍 실력 향상에 도움이 되었기를 바랍니다.

 

▼ 30초 더 투자하면 얻게되는 정보 ▼

 

 

코딩테스트 스택(stack) 문제 - 같은 숫자는 싫어 해결 과정

코딩테스트 스택(stack) 문제 - 같은 숫자는 싫어 해결 과정 우리는 일상 생활 속에서도 불필요한 중복을 피하려는 경향이 있습니다. 이는 프로그래밍에서도 마찬가지로, 특히 배열과 같은 데이터

lemonlog.tistory.com

 

 

선형구조 연결 리스트의 기본 원리와 종류

선형구조 연결 리스트의 기본 원리와 종류 컴퓨터 과학에서 데이터 구조는 정보를 효율적으로 저장, 관리, 처리하기 위한 기본적인 구성 요소입니다. 특히, 연결 리스트는 데이터를 선형으로 저

lemonlog.tistory.com