Develop/JS
자바스크립트[JS] - 💯 sort() 함수 총정리
임성장
2024. 3. 15. 16:45
728x90
1️⃣ sort() 함수의 개요
- sort() 함수는 배열의 요소를 정렬하는 함수로, 배열의 요소를 오름차순 또는 내림차순으로 정렬할 수 있습니다.
- sort() 함수는 원본 배열을 변경하며, 정렬된 배열을 반환하지 않습니다.
2️⃣ sort() 함수의 사용법
// arr 배열의 요소를 오름차순으로 정렬
const arr = [5, 2, 8, 1, 3];
arr.sort();
console.log(arr); // [1, 2, 3, 5, 8]
// arr 배열의 요소를 오름차순으로 정렬
const arr = [10, 3, 1, 5, 2];
arr.sort((a, b) => b - a); // [10, 5, 3, 2, 1]
// a는 현재 비교 중인 요소입니다.
// b는 다음 요소입니다.
// b - a가 음수이면 b가 a보다 앞에 배치됩니다.
// b - a가 양수이면 a가 b보다 앞에 배치됩니다.
// b - a가 0이면 두 요소의 순서를 변경하지 않습니다.
// 따라서 위 코드는 다음과 같이 작동합니다.
// 1. a = 10, b = 3
// 10 - 3 = 7 (양수)
// 7 > 0 이므로 a가 b보다 앞에 배치됩니다.
// 2. a = 3, b = 1
// 3 - 1 = 2 (양수)
// 2 > 0 이므로 a가 b보다 앞에 배치됩니다.
// ...
// 마지막 비교 후 결과: [10, 5, 3, 2, 1]
// 문자열 길이 기준으로 정렬
const arr = ["hello", "world", "how", "are", "you"];
arr.sort((a, b) => a.length - b.length); // ["how", "are", "you", "hello", "world"]
// sort() 함수만 사용하면 기본적으로 사전순으로 정렬
const arr = ["apple", "banana", "cherry", "dog", "cat"];
arr.sort(); // ["apple", "banana", "cat", "cherry", "dog"]
3️⃣ sort() 함수를 사용해야 하는 코딩 테스트 문제
- sort() 함수를 사용해야 하는 코딩 테스트 문제를 예시로 들어보겠습니다.
- 문제: 배열의 요소를 오름차순으로 정렬한 뒤, 가장 작은 값과 가장 큰 값을 출력하는 함수를 작성하세요.
function minMax(arr) {
arr.sort();
console.log('가장 작은 값:', arr[0]);
console.log('가장 큰 값:', arr[arr.length - 1]);
}
const arr = [5, 2, 8, 1, 3];
minMax(arr);
- 위 예시에서는 sort() 함수를 사용하여 배열의 요소를 오름차순으로 정렬한 뒤,
- 가장 작은 값과 가장 큰 값을 출력하는 minMax 함수를 작성하였습니다.
4️⃣ sort() 함수와 비슷한 파이썬 함수
- sort() 함수와 비슷한 기능을 제공하는 파이썬 함수는 sort() 함수입니다.
- 파이썬의 sort() 함수는 원본 배열을 변경하며, 정렬된 배열을 반환하지 않습니다.
728x90