티스토리 뷰
▶자바스크립트 정렬 함수 - sort
오늘은 자바스크립트 정렬 함수인 sort에 대해 알아보려고 합니다.
파이썬을 먼저 배운 입장에서는 그냥 sort하면 sort 되는 줄.......
🔎 sort ?
자바스크립트 배열의 내장 함수에 sort()가 있는데요.
명칭 그대로 배열 안의 원소를 정렬하는 함수입니다.
📌 문법
arrayObj.sort(sortFunction)
arrayobj 자리에는 Array 객체
sortFunction 자리에는 요소 순서를 결정하는 데 사용되는 함수의 이름입니다.
sortFunction 자리를 생략하면 오름차순, ASCII 문자 순서로 정렬됩니다.
📌 문자 정렬
문자 정렬의 경우에는 ASCII 문자 순서로 정렬하면 됩니다.
let alphabets = ['b', 'd', 'a', 'c', 'f', 'e'];
// 일반적인 방법
alphabets.sort(); // ['a', 'b', 'c', 'd', 'e', 'f']
→ 문자 정렬은 sort()
📌 숫자 정렬
숫자 정렬의 경우 ASCII 문자 순서로 정렬하게 되면 제대로 정렬되지 않습니다.
이때는 함수 자리에 정렬 함수를 작성해 주어야 합니다.
let numbers = [5, 2, 3, 1, 4, 11, 10];
// 이렇게 하면 안됨
numbers.sort(); // [1, 10, 11, 2, 3, 4, 5]
// 이렇게 해야 함
// 1. 오름차순
numbers.sort((a, b) => {
return a - b; // [1, 2, 3, 4, 5, 10, 11]
});
// 2. 내림차순
numbers.sort((a, b) => {
return b - a; // [11, 10, 5, 4, 3, 2, 1]
})
→ 숫자 정렬에서 오름차순은 (a, b) => a - b, 내림차순은 (a, b) => b - a
📌 Object 정렬
let student = [
{ name: '재석', age: 21 },
{ name: '광희', age: 25 },
{ name: '형돈', age: 13 },
{ name: '명수', age: 44 },
];
// 이름순으로 정렬---------------------------------------
student.sort((a, b) => { // 오름차순
return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
// 광희, 명수, 재석, 형돈
});
student.sort((a, b) => { // 내림차순
return a.name > b.name ? -1 : a.name < b.name ? 1 : 0;
// 형돈, 재석, 명수, 광희
})
// -----------------------------------------------------
// 나이순으로 정렬--------------------------------------
student.sort((a, b) => { // 오름차순
return a.age - b.age; // 13, 21, 25, 44
});
student.sort((a, b) => {
return b.age - a.age; // 44, 25, 21, 13
});
// ----------------------------------------------------
728x90
LIST
'프론트엔드 > Javascript' 카테고리의 다른 글
[Javascript] 제곱근과 제곱 구하기(Math.sqrt, Math.pow) (0) | 2023.01.29 |
---|---|
[Javascript] 반복문 for, map, forEach, filter 사용법과 차이점 (0) | 2023.01.28 |
[Javascript] 배열 인덱싱 - splice와 slice (0) | 2023.01.23 |
[Javascript] 자바스크립트 올림/내림/반올림 메서드 (0) | 2023.01.23 |
[Javascript] 자바스크립트 Reduce 메서드 이해하기 (0) | 2023.01.23 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- rtl
- 인프런
- CSS
- JSP
- 머신러닝
- 프로젝트 회고
- 타입스크립트
- 데이터분석
- TypeScript
- react
- 프론트엔드 공부
- 리액트 훅
- 딥러닝
- 프론트엔드 기초
- 스타일 컴포넌트 styled-components
- next.js
- frontend
- Python
- 리액트
- HTML
- 자바
- 자바스크립트
- testing
- styled-components
- 프론트엔드
- react-query
- 파이썬
- jest
- 디프만
- 자바스크립트 기초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함