일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 파이썬 정렬
- 이코테
- 이것이 취업을 위한 코딩테스트다
- icmp
- GIT
- ARP
- 시스템 소프트웨어
- OSI7계층모델
- 리스트
- CS
- 데이터 통신과 컴퓨터 네트워크
- 기억장치
- DP
- data type
- 파이썬 연산자
- 컴퓨터네트워크
- 라우팅
- 데이터통신
- 컴퓨터 동작방식
- RARP
- sort()
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
- IT5분잡학사전
- 파이썬 자료형
- 북클럽
- 노마드코더
- 자료형
- 쿠키
- 노개북
- 이것이 취업을 위한 코딩 테스트다
Archives
- Today
- Total
뚝딱햄 탈출기
[JavaScript] sort(), ASCII(아스키) 코드 : 배열 객체 정렬 오름차순 내림차순, 문자열 정렬, 문자 비교 본문
Programming language/JavaScript
[JavaScript] sort(), ASCII(아스키) 코드 : 배열 객체 정렬 오름차순 내림차순, 문자열 정렬, 문자 비교
hyrmzz1 2023. 8. 8. 13:13sort()
JS 배열 객체에 내장된 메서드.
배열의 요소를 적절한 위치에 정렬.
배열의 요소를 문자열로 변환 후, 문자열의 유니코드 포인트 순서에 따라 정렬. 그렇기에 숫자를 정렬하려고 해도, 문자처럼 정렬됨을 확인할 수 있음.
const arr = [40, 100, 1, 5, 25, 10];
arr.sort();
console.log(arr); // [1, 10, 100, 25, 40, 5]
따라서 비교 함수를 함께 사용해야 함.
sort() 메서드의 비교 함수는 두 개의 인자를 받아, 리턴 값에 따라 정렬 순서를 결정하는 값을 반환함.
비교 함수가 양수를 반환하면 인자 두 개의 위치를 바꾸고, 음수나 0을 반환하면 위치를 그대로 유지함.
function compare(a, b) {
// ...
}
문자열 정렬
// 오름차순 정렬
const arr1 = ['ddd', 'ds', 'de', 'da', 'de'];
arr1.sort();
console.log(arr1); // [ 'da', 'ddd', 'de', 'de', 'ds' ]
// 내림차순 정렬 1
const arr1 = ['ddd', 'ds', 'de', 'da', 'de'];
arr1.sort().reverse();
console.log(arr1); // ['ds', 'ddd', 'de', 'de', 'da']
// 내림차순 정렬 2
const arr2 = ['ddd', 'ds', 'de', 'da', 'de'];
arr2.sort((a, b) => b.localeCompare(a));
console.log(arr2); // ['ds', 'ddd', 'de', 'de', 'da']
// 내림차순 정렬 3
const arr3 = ['ddd', 'ds', 'de', 'da', 'de'];
arr3.sort((a, b) => (a < b ? 1 : -1));
console.log(arr3); // ['ds', 'ddd', 'de', 'de', 'da']
숫자 정렬
// 오름차순
const arr1 = [40, 100, 1, 5, 25, 10];
arr1.sort(function(a, b) {
return a - b; // a - b가 양수이면 두 인자의 인덱스 값 바꾸고(= b를 a 앞으로), 0 또는 음수라면 그대로.
});
console.log(arr1); // [1, 5, 10, 25, 40, 100]
// 화살표함수를 사용해 간략히 작성할 수 있다.
const arr2 = [40, 100, 1, 5, 25, 10];
arr2.sort((a, b) => a - b);
console.log(arr2); // [1, 5, 10, 25, 40, 100]
// 내림차순
const arr1 = [40, 100, 1, 5, 25, 10];
arr1.sort(function(a, b) {
return b - a;
});
console.log(arr1); // [100, 40, 25, 10, 5, 1]
// 화살표함수를 사용해 간략히 작성할 수 있다.
const arr2 = [40, 100, 1, 5, 25, 10];
arr2.sort((a, b) => b - a);
console.log(arr2); // [100, 40, 25, 10, 5, 1]
객체 정렬
// 객체 배열 정렬할 수도 있다.
const student = [
{ name: "kim", age: 23 },
{ name: "lee", age: 25 },
{ name: "park", age: 20 }
];
student.sort(function(a, b) {
return a.age - b.age; // age property 기준으로 오름차순으로 정렬
});
// 화살표 함수를 사용한다면 ...
student.sort((a, b) => a.age - b.age);
console.log(student);
// [
// { name: 'park', age: 20 },
// { name: 'kim', age: 23 },
// { name: 'lee', age: 25 }
// ]
ASCII(아스키) 코드
아스키 코드란 컴퓨터에서 문자를 숫자로 표현하는 표준 방식.
JS에서 문자끼리 비교 연산을 수행할 때, 아스키 코드 값을 통해 비교함.
ASCII 코드 | 문자 | ASCII 코드 | 문자 | ASCII 코드 | 문자 |
33 | ! 느낌표 | 34 | " 큰따옴표 | 35 | # 번호 기호 |
36 | $ 달러 기호 | 37 | % 퍼센트 부호 | 38 | & 앰퍼샌드 |
39 | ' 어포스트로피 | 40 | ( 여는 괄호 | 41 | ) 닫는 괄호 |
42 | * 별표 | 43 | + 더하기 기호 | 44 | , 쉼표 |
45 | - 하이픈 | 46 | . 기간 | 47 | / 슬래시 |
48 | 0 | 49 | 1 | 50 | 2 |
51 | 3 | 52 | 4 | 53 | 5 |
54 | 6 | 55 | 7 | 56 | 8 |
57 | 9 | 58 | : 콜론 | 59 | ; 세미콜론 |
60 | < 보다 작음 | 61 | = 등호 | 62 | > 보다 큼-부호 |
63 | ? 물음표 | 64 | @ (사인) | 65 | A 대문자 a |
66 | B 대문자 b | 67 | C 대문자 c | 68 | D 대문자 d |
69 | E 대문자 e | 70 | F 대문자 f | 71 | G 대문자 g |
72 | H 대문자 h | 73 | I 대문자 i | 74 | J 대문자 j |
75 | K 대문자 k | 76 | L 대문자 l | 77 | M 대문자 m |
78 | N 대문자 n | 79 | O 대문자 o | 80 | P 대문자 p |
81 | Q 대문자 q | 82 | R 대문자 r | 83 | S 대문자 s |
84 | T 대문자 t | 85 | U 대문자 u | 86 | V 대문자 v |
87 | W 대문자 w | 88 | X 대문자 x | 89 | Y 대문자 y |
90 | Z 대문자 z | 91 | [ 여는 대괄호 | 92 | \ 백슬래시 |
93 | ] 닫는 대괄호 | 94 | ^ 캐럿 | 95 | _ 밑줄 |
96 | ` 억음 부호 | 97 | a 소문자 a | 98 | b 소문자 b |
99 | c 소문자 c | 100 | d 소문자 d | 101 | e 소문자 e |
102 | f 소문자 f | 103 | g 소문자 g | 104 | h 소문자 h |
105 | i 소문자 i | 106 | j 소문자 j | 107 | k 소문자 k |
108 | l 소문자 l | 109 | m 소문자 m | 110 | n 소문자 n |
111 | o 소문자 o | 112 | p 소문자 p | 113 | q 소문자 q |
114 | r 소문자 r | 115 | s 소문자 s | 116 | t 소문자 t |
117 | u 소문자 u | 118 | v 소문자 v | 119 | w 소문자 w |
120 | x 소문자 x | 121 | y 소문자 y | 122 | z 소문자 z |
123 | { 여는 중괄호 | 124 | | 세로 막대 | 125 | } 닫는 중괄호 |
126 | ~ 틸드 |
const result = 'A' > 'B';
console.log(result); // false
'Programming language > JavaScript' 카테고리의 다른 글
[JavaScript] for 반복문 (2) | 2023.10.08 |
---|---|
[JavaScript] event (0) | 2023.08.16 |
[JavaScript] 템플릿 리터럴 : 문자열 내에 변수 삽입, 백틱(`) (0) | 2023.08.08 |
[JavaScript] 산술 연산자, 비교 연산자 : 몫과 나머지, '==='와 '=='의 차이 (0) | 2023.08.07 |
[JavaScript] 프로퍼티와 메서드 : split(), join(), 배열 값 앞 뒤에 추가, 수학 연산 메서드 Math, 문자열 숫자로 변환 (0) | 2023.08.07 |
Comments