复制Javascript对象

时间:2014-07-16 15:32:19

标签: javascript jquery

我尝试使用Jquery.extend对Javascript对象进行深层复制,但我不会将其复制...

这是一个简单的例子:

$(document).ready(function(){
        console.log('Hi')
        var obj1 = [{'name':'bob','age':'20'},{'name':'Tom','age':'20'}];
        jQuery.extend(obj2,obj1)
        console.log('Hi')

})

JSFiddle

我没有看到在console.log中打印的第二个调试stmt

1 个答案:

答案 0 :(得分:3)

您需要先声明obj2

    console.log('Hi')
    var obj1 = [{'name':'bob','age':'20'},{'name':'Tom','age':'20'}];
    var obj2 = {}
    jQuery.extend(obj2,obj1)
    console.log('Hi')

然而,新数组仍将使用相同的对象。如果你想要一个深层拷贝(也就是说,一个包含其中对象的新副本的数组),则为jQuery.extend的deep参数传递true:

    jQuery.extend(true, obj2,obj1)