정렬 기준은
ASCII (American Standard Code for Information Interchange)
: 영문 알파벳을 사용하는 문자 인코딩 (컴퓨터가 이용할 수 있는 신호로 만드는 것)
ASCII는 정보교환용 7비트 부호체계
52개의 영문알파벳 대소문자, 10개의 숫자, 32개의 특수문자, 하나의 공백문자를 출력할 수 있다
array.sort([compareFunction])
compareFunction은 두 개의 객체(compare1, compare2)를 비교하여 크고 작음을 리턴하여 정렬시키는 함수이다 (optional)// 숫자 배열 정렬
// sort 메소드인 compareFunction 사용
// 오름차순
const num = [20, 8, 999, 8394, 12, 1, 23, 33];
num.sort(function(compare1, compare2){
return compare1-compare2;
})
// [ 1, 8, 12, 20, 23, 33, 999, 8394 ]
// 내림차순
num.sort(function(compare1, compare2){
return compare2-compare1;
})
// [ 8394, 999, 33, 23, 20, 12, 8, 1 ]
const str = ['hyunjoo', 'Seorina', 'minah', 'yeojun', 'ayoung']
str.sort(function(compare1, compare2){
// 소대문자 구분없이 비교하기 위해 toUpperCase()를 사용해준다
let compareOne = compare1.toUpperCase();
let compareTwo = compare2.toUpperCase();
if (compareOne < compareTwo) return -1;
if (compareOne > compareTwo) return 1;
return 0;
})
// [ 'ayoung', 'hyunjoo', 'minah', 'Seorina', 'yeojun' ]