var x = [1,2,3];
var y = x;
y.fill(5);
console.log(x); //[5,5,5]
console.log(y); //[5,5,5]
如何防止變種X陣列由填充()方法改變?爲什麼y.fill()同時改變var y和var x?如何在方法使用後保持變量值相同?
var x = [1,2,3];
var y = x;
y.fill(5);
console.log(x); //[5,5,5]
console.log(y); //[5,5,5]
如何防止變種X陣列由填充()方法改變?爲什麼y.fill()同時改變var y和var x?如何在方法使用後保持變量值相同?
y
指向與x
相同的陣列。如果您想防止這種情況發生,您需要複製/克隆x
,並將其分配給y
。
var y = x.slice();
我知道這很簡單:)謝謝! –
您的變量y是對x數組的引用。試用var y = [1,2,3];
。 var y = x.slice();
會給你一個淺的副本。查看深VS。淺拷貝來確定這是否是一個適當的解決方案。
您可能有兩個變量,但只有一個數組。 –