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