프로젝트 작업 중, api 호출로 가져온 데이터들의 순위를 정하기 위해 해당 배열을 데이터 기준으로 sort 시키는 과정이 필요했다.
javascript 에는 sort()
라는 좋은 함수가 있어 그대로 활용했다.
하지만 sort()
를 이용하면 정렬에 기준이 되는 배열이 바로 적용되기 때문에, 일반 복사로는 원하는 결과를 얻기 힘들다.
그럴 때는 얕은 복사가 아닌, 깊은 복사로 메모리까지 다른 복사를 해야 한다.
깊은 복사를 하는 방법은 간단하다.
const 복사된배열 = 복사할배열.slice();
slice
는 기준이 되는 배열에서 원하는 위치만 잘라서 새로운 배열을 생성한다.
내부에 들어갈 조건이 없다면 통째로 배열이 생성되는 것이므로 깊은 복사라 할 수 있다.