2013-10-20 187 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