<.js>
// 영화 가져오는 함수
function getMovies(url) {
fetch....
...생략
// 평점순 정렬 데이터 변수에 저장
let sortedByRate = data.results.sort((a, b) => {
return b.vote_average - a.vote_average;
});
// 가나다순 정렬 데이터 변수에 저장
let sortedByAlpha = data.results.sort((a, b) => {
const upperCaseA = a.title.toUpperCase();
const upperCaseB = b.title.toUpperCase();
if (upperCaseA > upperCaseB) return 1;
if (upperCaseA < upperCaseB) return -1;
if (upperCaseA === upperCaseB) return 0;
});
// 각각의 정렬 버튼 클릭 시 함수 실행
resetBtn.addEventListener('click', () => showMovies(data.results));
orderRateBtn.addEventListener('click', () => showMovies(sortedByRate));
orderAlphabetBtn.addEventListener('click', () =>
showMovies(sortedByAlpha),
);
});
}
// data.results를 복사하여 sort
let sortedByRate = [...data.results].sort((a, b) => {
return b.vote_average - a.vote_average;
});
// data.results를 복사하여 sort
let sortedByAlpha = [...data.results].sort((a, b) => {
const upperCaseA = a.title.toUpperCase();
const upperCaseB = b.title.toUpperCase();
.......생략
});
이런 문제는 메소드 사용법이 틀리지 않아서 오류도 안 난다.
팀원이 발견하지 않았다면 그 에러도 안 뜨는 상황에서...
끔찍해라!😨
나중에는 불변성을 지켜야 할 때가 많은데 그때 이 글이 많은 도움이 되실 것 같아요