1

我正在尝试使用嵌套的子对象克隆一个非常复杂的对象。

该对象具有如下结构:

  • Board 有 n 个 BoardElement 元素
  • BoardElement 具有 BoardElementUnits 的 n 个元素

http://pastebin.com/2NgQQXUC

使用 jQuery.extend():

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

不会克隆嵌套对象,因此我使用 JSON 来确保没有对源对象的剩余引用。

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

这很好用,但性能很糟糕。

4

1 回答 1

1

终于找到了答案:JQuery 目前不支持深度克隆用户定义的对象,但是这个库支持: owl

于 2013-10-20T13:58:12.170 回答