코딩애플님 강의 수강하면서 나온 숙제 아닌 숙제
useState 데이터가 들어있는 배열을 가나다 순으로 정렬하는 것인데,
useState 사용 시 [state 데이터, state 데이터 변경 함수]가 생기는데요
var newArray = [...state데이터];
newArray = newArray.sort();
state데이터변경함수(newArray);
이런식으로 해주면 간단하게 해결 가능 !
근데 위의 예시는 문자열의 경우이고, 그럼 숫자의 경우 라면 ?
sort()는 숫자도 문자열로 변환 후 정렬하므로
const array = [40, 5, 130];
array.sort();
console.log(array); // 130, 40, 5
이렇게 숫자의 첫번째 자리수를 기준으로 정렬됨.
근데 숫자를 오름차순 하면 5, 40, 130이 맞는 거잖아요
우리가 원하는 결과를 얻으려면 비교 함수를 사용해주어야 한다고 해요
array.sort((a, b) => a - b);
console.log(array); // 5, 40, 130
요렇게 !
만약, 내림차순 정렬을 하고 싶다면 array.sort((a, b) => b - a);
이렇게 a, b를 변경해주면 됩니다용