问题
- 方法一和方法二遇到的问题 =>
- 什么是浅克隆
- 如何做到深拷贝
const obj = {
name: "Steven",
number: 0,
setting: {
role: "user",
},
};
const obj1 = Object.assign({}, obj);
const obj2 = { ...obj1 };
const obj3 = JSON.parse(JSON.stringify(obj));
总结
- 对象只包含对象的引用,而不是对象本身
代码
let scores = [90, 75, 80, 40];
const updateScores = function (arr, newScores) {
let newScoresArray = arr;
newScoresArray.push(...newScores);
return newScoresArray;
};
let finalScores = updateScores(scores, [50, 65, 100]);
console.log(scores.length);
console.log(finalScores.length);
let scores = [90, 75, 80, 40];
const updateScores = function (arr, newScores) {
let newScoresArray = Object.assign([], arr);
newScoresArray = [...arr];
newScoresArray = JSON.parse(JSON.stringify(arr));
newScoresArray.push(...newScores);
return newScoresArray;
};
let finalScores = updateScores(scores, [50, 65, 100]);
console.log(scores.length);
console.log(finalScores.length);