이제 사용자가 열의 제목을 클릭하면 배열에서 정렬(sort) 함수를 호출합니다. 예를 들어 사용자가 근속 연수에 따라 정렬시키면 함수가 배열을 정렬하고 갱신합니다.
arrays/sort/sortMutate.js
staff.sort(sortByYears); // [ // { // name: 'Theo', // years: 5 // }, // { // name: 'Joe', // years: 10 // }, // { // name: 'Dyan', // years: 10 // }, // ]
바로 이 부분에서 문제가 시작되는군요. 배열을 정렬할 때 해당 배열은 변경됩니다. 함수 실행이 끝난 것처럼 보일지라도, 실제로는 배열의 변경 사항이 그대로 유지됩니다.