我正在學習如何在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