javascript - jQuery.extend() 深度克隆嵌套对象

标签 javascript jquery clone extend

我正在尝试克隆一个带有嵌套子对象的相当复杂的对象。

该对象的结构如下:

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

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));

效果很好,但性能很差。

最佳答案

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

关于javascript - jQuery.extend() 深度克隆嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19475696/

相关文章:

rust - PathBuf::from(&some_other_pathbuf)会克隆some_other_pathbuf的数据吗?

javascript - jQuery 克隆链接和包装/追加/替换?

javascript - Vuex 状态项始终为空

javascript - 如何链接两个文件都有 onload 事件的多个 javascript 文件?

javascript - IE >= 8 的原型(prototype) Event.StopPropagation

javascript - 使用上一个和下一个按钮在 javascript 中循环浏览图像

Jquery dblclick 不响应相同的光标位置

javascript - 使用键数组过滤对象数组并提取其属性

jquery - 点击时选项卡跳转

JavaScript - 函数未定义