Inflearn Community Q&A
궁금한게 있습니다.!!
Written on
·
281
0
let arr = [1,2,3];
let arr2 = arr.slice();
arr2[1] = 10;
console.log(arr); //[ 1, 2, 3 ]
단순히 이런 코드는 // [1, 2, 3];이 나오는 반면에.
DFS탐색을 하는 과정중 2차원 배열을 복사해서 새로운 변수에 할당해 일회성으로
쓰고 싶을때. 새로 만든 2차원 배열을 건들면 기존에 있던 2차원 배열도 변하는
이유가 뭔가요???
javascript코테 준비 같이 해요!
Answer 1
1
codingcamp
Instructor
안녕하세요^^
slice() 함수는 기본형 데이터에 대해서만 깊은복사를 합니다.
1차원 배열은 Integer같은 기본형 데이터를 담고 있지만, 2차원배열은 1차원 배열객체를 담고 있는 구조이기 때문에 깊은 복사가 되지 않습니다.





