js array.sort()가 원본을 바꾼다
- 가끔 원본이 바뀌어서 예상치 못한 동작을 할 때가 있다
1 | // 원본인 arr 이 정렬됨 |
[...arr]
이런 식으로 배열을 복사할 수 있다
하나 더, 배열 복사할 때 주의할 점
- 그런데
number[]
타입이 아니라{...}[]
같은 객체 배열이라면 [...arr]
연산으로 새로운 배열이 만들어지기는 하지만- 원소 하나하나는 여전히
call by reference
이기 때문에 - 완전한 복사본(깊은 복사)을 얻은 게 아니라는 점을 유의해야 한다
참고
js array.sort()가 원본을 바꾼다
https://chinsun9.github.io/2021/07/07/js-array-api-mutate-origin/