Js & React 공부

sort와 localeCompare

콛 다이어리 2024. 9. 11. 01:48

공통점: 정렬 메소드

차이점: 문자열은 locareCompare을 사용

 

const myNums = [1998, 2, 19, 148, 55, 220];

이런 배열이 있다고 치자.

 

myNumbs.sort( ); 를 하면 

문자열을 (오름차순으로) 정렬한 것 처럼

[148, 19, 1998, 2, 220, 55] 찍힌다.

 

하지만,

문자열 말고 숫자로 정렬하고싶다면

이렇게 해주면 된다.

오름차순: 숫자배열.sort((a, b) => a - b);

내림차순: 숫자배열.sort((a, b => b - a);

 

오름차순 변수 up을 줘서 출력을 한다면

const up = myNumbs.sort((a, b) => a - b);

console.log("오름차순 > ", up);

// 오름차순 > [2, 19, 55, 148, 220, 1998]

 

내림차순 변수 down을 줘서 출력을 한다면

const down = myNumbs.sort((a, b) => b - a);

console.log("내림차순 > ", down);

// 내림차순 > [1998, 220, 148, 55, 19, 2]

 

 

문자는 살짝 다르다.

다른 문자 배열을 주자.

const dogs = ["말티즈",

"진돗개", "제주개", "삽살개", "풍산개"];

 

문자도 사실 숫자랑 크게 다르지는 않다.

오름차순: 문자배열.sort((a, b) => a.localeCompare(b)));

내림차순: 문자배열.sort((a, b) => b.localeCompare(a)));

 

오름차순:

dogs.sort((a,b) => a.localeCompare(b));

console.log(dogs);

// ['말티즈', '삽살개', '제주개', '진돗개', '풍산개']

 

내림차순:

dogs.sort((a, b) => b.localeCompare(a));

console.log(dogs);

// ['풍산개', '진돗개', '제주개', '삽살개', '말티즈']