// slice 사용
var a = [
[1,1,1,1],
[2,2,2,2]
];
var a2 = a.slice();
a2[0] = [1, 2, 3, 4];
/*
출력
a: [ [ 1, 1, 1, 1 ], [ 2, 2, 2, 2 ] ]
a2: [ [ 1, 2, 3, 4 ], [ 2, 2, 2, 2 ] ]
가장 외부 부분은 완전 복사가 이루어짐
*/
// slice 사용
var a = [
[1,1,1,1],
[2,2,2,2]
];
var a2 = a.slice();
a2[0][0] = 0;
/*
출력
a: [ [ 0, 1, 1, 1 ], [ 2, 2, 2, 2 ] ]
a2: [ [ 0, 1, 1, 1 ], [ 2, 2, 2, 2 ] ]
중첩 구조는 얕은 복사가 이루어짐
*/
// JSON 사용
var a = [
[1,1,1,1],
[2,2,2,2]
];
var a3 = JSON.parse(JSON.stringify(a));
a[0][0] = [0];
/*
출력
a: [ [ 0, 1, 1, 1 ], [ 2, 2, 2, 2 ] ]
a3: [ [ 1, 1, 1, 1 ], [ 2, 2, 2, 2 ] ]
JSON을 사용하면 중첩 배열에서도 깊은 복사가 이루어짐
*/