Clone An Array
배열
을 복사하는 방법은 여러가지가 있습니다. 배열
은 javascript
에서 reference value
이기 때문에 배열
을 복사 할 때 잘 생각하고 복사를 해야합니다.
=
를 사용해서 값을 복사하면 안되는 이유!
1 | const animals = ["🐶", "🐱", "🐵", "🐯", "🐷"]; |
배열
은 javascript
에서 reference value
입니다. 따라서 원래의 값에 다른 요소를 추가하거나 제거하게 되면 복사된 값도 변하게 됩니다.
이전 값을 참조하지 않게 복사를 하는 방법
1 | const animals = ["🐶", "🐱", "🐵", "🐯", "🐷"]; |
es5
에선 map
또는 slice
를 이용하여 배열
을 복사 할 수 있었습니다. JSON.stringify
와 JSON.parse
두 기능을 이용하여 복사 할 수 있습니다. 이렇게 복사를 하면 새로운 배열
은 이전의 메모리를 참조하지 않습니다. 따라서 복사전 값을 변경하더라도 나머지 값에 영향을 주지 않습니다.
es6의 spread operator
1 | const animals = ["🐶", "🐱", "🐵"]; |
spread
연산자를 사용해서 값을 복사 할 수 있습니다. 이 또한 이전의 메모리를 참조하지 않는 새로운 배열을 생성합니다.
추가로 배열의 복사 방법
1 | const animals = ["🐶", "🐱", "🐵", "🐯", "🐷"]; |
Array.from
을 사용하면 메모리를 참조하지 않는 배열을 복사 할 수 있습니다.