array和json如何深度拷贝。

json && 数组浅拷贝

json

var json = {
    a:1,
    b:2
}

var json2 = json;
json2.a = 5;
console.log(json.a); // 5

array

var arr = [1,2,3];

var arr2 = arr;
arr2[0] = 5;
console.log(arr[0]);  // 5

json && 数组深度拷贝

json

var json = {
    a:1,
    b:2
}

var json2 = JSON.parse(JSON.stringify(json));
json2.a = 5;
console.log(json.a);  // 1

array

var arr = [1,2,3];

var arr2 = arr.slice(0);
arr2[0] = 5;
console.log(arr[0])  // 1

个人笔记