더북(TheBook)

이제 사용자가 열의 제목을 클릭하면 배열에서 정렬(sort) 함수를 호출합니다. 예를 들어 사용자가 근속 연수에 따라 정렬시키면 함수가 배열을 정렬하고 갱신합니다.

arrays/sort/sortMutate.js

staff.sort(sortByYears);
// [
// {
// name: 'Theo',
// years: 5
// },
// {
// name: 'Joe',
// years: 10
// },
// {
// name: 'Dyan',
// years: 10
// },
// ]

 

바로 이 부분에서 문제가 시작되는군요. 배열을 정렬할 때 해당 배열은 변경됩니다. 함수 실행이 끝난 것처럼 보일지라도, 실제로는 배열의 변경 사항이 그대로 유지됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.