This question already has answers here:
Copy array by value
                                
                                    (34个答案)
                                
                        
                                5年前关闭。
            
                    
我有数组对象

var arr = [{'name':'one','age':24},{'name':'two','age':21}]


我已将此数组分配给另一个变量var newVar = arr。现在,我将newVar的对象的值更改为newVar[0].age = 18,但是更改newVar的对象的值也反映在arr(original data)中。在newVar中更改值后,arr

var arr = [{'name':'one','age':18},{'name':'two','age':21}]


我希望原始数据应该独立于另一个保存相同数据的变量的值。如何使用Java脚本获取它?

最佳答案

Javascript通过引用处理对象。如果只需要更改对象中的值,则应“克隆”它。这样,将有两个不同的对象。

如何克隆对象:

What is the most efficient way to deep clone an object in JavaScript?

09-20 17:21