我有對象的數組作爲JavaScript數組按值傳遞不工作
var obj = {'name': 'John'};
var obj2 = {'name': 'Sam'};
var arr = [];
arr.push(obj);
arr.push(obj2);
現在我創建一個新的數組arr2
作爲
arr2 = arr.slice();
現在,如果我改變arr2[0]['name'] = 'David';
然後arr1[0]['name']
也變成'David';
當arr2
對象值更改時,我們如何防止arr
的任何對象值發生更改。
您正在克隆數組,但不是對象;他們仍然是參考。 – elclanrs
有沒有一種方法可以防止物體發生變化?什麼是更好的方法 – user544079
您正在尋找** deep **克隆/複製:http://stackoverflow.com/search?q=%5Bjavascript%5D+array+deep+copy,https://www.google .com/search?q = javascript%20deep%20copy –