我正在学习如何在JavaScript中使用对象,如下面的代码。javascript中的对象引用
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [10];
let arr4 = [...arr1, ...arr2, ...[7,8,9], ...arr3];
function myFunc() {
let result = 0;
let obj = {};
let arr = [];
for (let value of arguments) {
result += value;
obj.keys = value;
arr.push(obj);
}
return [result, arr];
}
console.log(myFunc(...arr4)[0]);
console.log(myFunc(...arr4)[1]);
我期待这样的结果; [ { keys: 1 }, { keys: 2 }, { keys: 3 }, { keys: 4 }, { keys: 5 }, { keys: 6 }, { keys: 7 }, { keys: 8 }, { keys: 9 }, { keys: 10 } ]
但结果是这样的: 55 [ { keys: 10 }, { keys: 10 }, { keys: 10 }, { keys: 10 }, { keys: 10 }, { keys: 10 }, { keys: 10 }, { keys: 10 }, { keys: 10 }, { keys: 10 } ]
我想这是一个参考的问题。最后的'值'是10,所以所有的值都改变了10.我明白了,但是我无法修复这个错误。我怎样才能获得我想要的结果?
非常感谢您!现在我明白了。 – BlueFlag