2013-06-04 81 views
2

如何深JavaScript作爲對象複製的對象不是數組如何深在JavaScript複製對象的對象不是數組

var x = {attr1: "value", attr2: "value"}; 
var y = $.extend(true, [], x); 
var z = $.extend(true, [], x); 

alert($.type(x)); // object 
alert($.type(y)); // array [ why not object too ] 
alert($.type(z)); // array [ why not object too ] 
+0

RTFM:[http://api.jquery.com/jQuery.extend/](http://api.jquery.com/jQuery.extend/)。 「目標...要擴展的對象,它將接收新的屬性。」 – RobG

回答

5

而不是

var y = $.extend(true, [], x); 

嘗試

var y = $.extend(true, {}, x); 
         ^^--------- Empty object instead of empty Array 
+0

哦,非常好,它工作。謝謝 – faressoft

+1

@faressoft ..不客氣:) –

+0

我已經嘗試了幾種不同的方法來做到這一點,但是這一個最適合對象'數組' – shubniggurath