考慮下面的代碼片段:爲什麼推到一個數組會影響另一個數組?
var arr1 = "john".split('');
console.log(arr1); // [ 'j', 'o', 'h', 'n' ]
var arr2 = arr1.reverse();
console.log(arr1); // [ 'n', 'h', 'o', 'j' ]
var arr3 = "jones".split('');
arr2.push(arr3);
console.log(arr1); // [ 'n', 'h', 'o', 'j', [ 'j', 'o', 'n', 'e', 's' ] ]
在過去console.log
,爲什麼力推arr2
影響arr1
?爲什麼arr1
在沒有修改時更改,只有arr2
被修改?
* 「在過去的console.log,爲什麼力推ARR2影響ARR3?」 * - 它沒有。最後一個日誌記錄'arr1',而不是'arr3'。 – nnnnnn
@nnnnnn我的編輯錯誤,修復 – Li357