💡 sort() 소개
🔹역할: 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환한다.
🔹생김새: arr.sort([비교함수])
🔹특징:
- 비교함수를 인수로 전달하지 않으면 요소는 문자열로 취급되어 재정렬된다.*
- 배열 자체를 변경(mutable)한다.
- 재정렬된 배열을 반환하긴 하지만, mutable이기 때문에 원본 arr를 주로 사용한다.
*기본 정렬 예시를 보려면 아래를 클릭하세요
더보기
유니코드는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다.
각각의 문자에 해당하는 숫자값이 정해져있는데, 비교함수를 지정하지 않으면 그 숫자값에 따라서 오ㅡㄹㅁ차순으로 정렬된다.
const arr = [1,10,12,13,2,21,22,23,30,4,1000,-1,-10,-12,-13,-2,-21,-22,-23,-30,-4,-1000]
arr.sort()
//[ -1, -10, -1000, -12, -13, -2, -21, -22, -23, -30, -4, 1, 10, 1000, 12, 13, 2, 21, 22, 23, 30, 4 ]
const arr1 = ['a','aa','ab','abb','acc','ac','ba','!b','bcc','c','!','?']
arr1.sort()
//[ '!', '!b', '?', 'a', 'aa', 'ab', 'abb', 'ac', 'acc', 'ba', 'bcc', 'c' ]
const arr2 = ['가','나','가나','다','라','다리미','다람쥐','거','녀','!!','?']
arr2.sort()
//[ '!!', '?', '가', '가나', '거', '나', '녀', '다', '다람쥐', '다리미', '라' ]
🖋 비교함수 작성하기
🔹필요성: 주로 숫자를 숫자로 비교해서 오름차순으로 정렬해야 할 때 가장 많이 쓰인다.
🔹조건: 반드시 값 두 개를 비교해야 하고 반환 값으로 숫자(음수||양수||0)를 리턴해야한다.
🔹기본 형태:
function compare(a, b) {
if (a > b) return 1; // 첫 번째 값이 두 번째 값보다 큰 경우
if (a == b) return 0; // 두 값이 같은 경우
if (a < b) return -1; // 첫 번째 값이 두 번째 값보다 작은 경우
}
arr.sort(compare)
🔹단순 형태(보편적):
arr.sort( (a, b) => a - b );
🛑 예시: (이거만 기억하자!!)
let arr = [1, -2, 15, 2, 0, 8]
arr.sort((a,b) => a - b)
//[ -2, 0, 1, 2, 8, 15 ]
let items = [
{ name: 'Edward', value: 21 },
{ name: 'Sharpe', value: 37 },
{ name: 'And', value: 45 },
{ name: 'The', value: -12 },
{ name: 'Magnetic', value: 13 },
{ name: 'Zeros', value: 37 }
];
items.sort((a,b) => a.value - b.value)
'개념 > javaScript' 카테고리의 다른 글
[javaScript] 재귀 함수와 메모리 사용량 간의 관계 (0) | 2022.08.22 |
---|---|
[javaScript] fs모듈로 파일 내용 수정하기 (0) | 2022.08.15 |
[javaScript] fs모듈, fs.readFile (0) | 2022.08.01 |
[javaScript] async/await (0) | 2022.08.01 |
[javaScript] Promise란? + 관련 메서드들 (0) | 2022.07.29 |