내배캠 139일차

·2023년 4월 1일
0

내일배움캠프

목록 보기
141/142
post-thumbnail

토요일

Array.sort()

compareFunction이 제공되지 않으면 요소를 문자열로 변환하고 유니코드 포인트 순서로 문자열을 비교하여 정령함.
compareFunction이 제공되면 배열 요소는 compare 함수의 반환 값에 따라 정렬됨.

function compare(a,b) {
	if(a < b) return -1; // a b 순 정렬 
    if(a > b) return 1; // b a 순 정렬
    if(a == b) return 0; // 그대로 ... 
}

compareFunction이 (a, b) < 0 인 경우 a , b 순으로 정렬
compareFunction이 (a, b) > 0 인 경우 b , a 순으로 정렬
compareFunction이 0을 반환하면 a, b를 변경x

const Digit=[11,2,5,20,8];
Digit.sort();

=> 결과

[11, 2, 20, 5, 8]

왜? Sort()는 기본적으로 유니코드값으로 정렬하기 때문

오름, 내림차순

Digit.sort((previous, current) => previous-current); //오름차순
Digit.sort((previous, current) => current-previous); //내림차순

localeCompare()

localeCompare 메서드는 참조 문자열이 정렬 순서에서 앞 또는 뒤에 오는지 또는 주어진 문자열과 같은지를 숫자로 반환

referenceStr이 compareString보다 앞에 있으면 -1, 뒤에 있으면 1, 같으면 0 반환

'a'.localeCompare('b') // -1 , 
'b'.localeCompare('a') // 1
'c'.localeCompare('c') // 0

Array.join()

const arr = ['바람', '비', '물'];

console.log(arr.join());
// 바람,비,물

console.log(arr.join(''));
// 바람비물

console.log(arr.join('-'));
// 바람-비-물
profile
개발자 꿈나무

0개의 댓글