sort() 함수
자바스크릡트 배열의 내장 함수에 배열 안의 원소를 정렬하는 sort() 함수가 존재
arr.sort([compareFunction])
매개변수 : compareFunction
compareFunction : 정렬 순서를 정의하는 함수
- 첫번째 인수가 두번째 인수보다 작을 경우 : 음수 (-) →첫번째 인수가 앞에 오도록
- 두 인수가 같을 경우 : 0
- 첫번째 인수가 두번째 인수보다 클 경우: 양수 (+) → 첫번째 인수가 뒤에 오도록
※ compareFunction 파라미터가 생략될 경우, 유니코드 순서에 따라 오름차순으로 정렬
반환값
정렬된 배열 반환 (원본 배열이 정렬됨, 복사본 생성되는 것이 아님 주의!)
사용 예제
문자 정렬
var fruits=["banana", "apple", "grape"];
fruits.sort(); //["apple", "banana", "orange"]
숫자 정렬
var numbers=[3,1,2];
numbers.sort((a,b) => a-b); //오름차순 [1,2,3]
numbers.sort((a,b) => a-b); //내림차순 [3,2,1]
Object 정렬
var students=[
{name: "alice", age: 25},
{name: "hannah", age:12},
{name: "branda", age: 14}
]
/*이름순으로 정렬*/
students.sort((a,b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0);
/* 오름차순
0: {name: "alice", age: 25}
1: {name: "branda", age: 14}
2: {name: "hannah", age: 12} */
students.sort((a,b) => a.name > b.name ? -1 : a.name < b.name ? 1 : 0);
/* 내림차순
0: {name: "hannah", age: 12}
1: {name: "branda", age: 14}
2: {name: "alice", age: 25} */
/*나이순으로 정렬*/
students.sort((a,b)=>a.age-b.age); //오름차순
students.sort((a,b)=>b["age"] - a["age"]); //내림차순
[References]
'Frontend Programming > Javascript' 카테고리의 다른 글
안티패턴 (0) | 2021.03.02 |
---|---|
자바스크립트 비동기 처리 (0) | 2021.02.18 |
JSON (0) | 2021.02.12 |
random으로 값 가져오기 (0) | 2021.02.11 |
classList (0) | 2021.02.07 |