더북(TheBook)

사용해야 할 메서드가 원본을 조작할 때, 어떻게 하면 조작을 막을 수 있을까요? 답은 간단합니다. 원본 데이터를 조작하지 않으면 됩니다. 그 대신에 사본을 만들고, 사본을 조작하세요.

배열을 정렬하기 전에 원본 배열과 펼침 연산자로 새로운 배열을 만들기만 하면 됩니다.

arrays/sort/sortSpread.js

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

 

원본 배열을 변경하지 않으므로 이제 사용자는 마음대로 정렬 기능을 사용할 수 있습니다. 또한, 같은 기준으로 정렬했을 때 항상 같은 결과를 확인할 수 있습니다.

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