2013-10-20 226 views
1

我想克隆一個相當複雜的對象與嵌套的子對象。jQuery.extend()深層克隆嵌套對象

對象具有這樣的結構:

  • 板具有n BoardElement的元件
  • BoardElement具有n的使用jQuery.extend BoardElementUnits

http://pastebin.com/2NgQQXUC

元素( ):

var board = $.extend(true, {}, this.game.board) 

不克隆嵌套的對象,所以我使用JSON來確保沒有對源對象的剩餘引用。

var boardJSON = JSON.stringify(JSON.decycle(this.game.board)); 
var board = JSON.retrocycle($.parseJSON(boardJSON)); 

這很有效,但表現很糟糕。

+0

這可能有助於... [extendtrue深拷貝(HTTP ://stackoverflow.com/questions/16512773/jquery-extendtrue-obj-not-creating-a-deep-copy) – Stphane

回答

1

終於找到了答案: 的JQuery不會在此刻支持用戶自定義對象的深克隆,但這個庫的作用: owl