1
var allCoords = [{ x: 2, y: 3 }, { x: 3, y: 4 }];
var emptySpaces = allCoords;
emptySpaces.splice(0, 1);
console.log(allCoords.length);
console.log(emptySpaces.length);
我不明白爲什麼這兩個輸出爲「1」。爲什麼當我只想要編輯第二個,emptySpaces
時,原始數組allCoords
被修改?修改一個數組會改變我製造的另一個數組
答案很簡單,他們是相同的陣列。 'emptySpaces = allCoords'創建一個引用,而不是副本 – charlietfl 2014-12-06 06:44:59