본문 바로가기
🤹🏻‍♀️ 자바스크립트 𝗝𝗮𝘃𝗮𝘀𝗰𝗿𝗶𝗽𝘁

[javascript] 자바스크립트 문자열 정렬 (오름차순, 내림차순)

by 비타민찌 2022. 11. 10.
728x90

Array 객체의 sort() 메서드는 기본적으로 배열은 문자형 오름차순(Ascending Order, ASC)으로 정렬된다. ​ 

[오름차순 정렬]

const months = ['April', 'August', 'December', 'February', 'January', 'July'];

console.log(months.sort());

months.sort(function (a, b) {
    var aa = a.toUpperCase();
    var bb = b.toUpperCase();

    return aa < bb ? -1 : aa > bb ? 1 : 0;
});

console.log(months);

// 결과
'April', 'August', 'December', 'February', 'January', 'July'
'April', 'August', 'December', 'February', 'January', 'July'

 

compareFunction는 두 개의 비교 객체(comp1, comp2)를 비교하여 두 객체의 크고 작음을 리턴하여 정렬시킨다. compareFunction(comp1, comp2)에서 리턴 값이 -1(0보다 작은 수)이면 comp1을 comp2보다 낮은 요소로 정렬. 리턴 값이 0이면 동일하게 정렬된다. 리턴 값이 1(0보다 큰 수)이면 comp1을 comp2보다 큰 요소로 정렬된다. 

 

[내림차순 정렬]

const months = ['April', 'August', 'December', 'February', 'January', 'July'];

months.sort(function (a, b) {

    var aa = a.toUpperCase();
    var bb = b.toUpperCase();

    return aa < bb ? 1 : aa > bb ? -1 : 0;
});

console.log(months);

// 결과
'July', 'January', 'February', 'December', 'August', 'April'
728x90

댓글