可能重复:
克隆JavaScript对象的最有效方法是什么?
如何使用以下引用克隆js对象:
{ ID: _docEl,
Index: next,
DocName: _el
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
tho*_*ter 10
您将不得不迭代对象并复制其所有属性.
然后,如果它的任何属性也是对象,假设你也想要克隆它们,你将不得不递归它们.
这里有各种方法: 克隆JavaScript对象的最有效方法是什么?
根据thomasrutter的建议(未经测试的代码),我就是这样做的:
function cloneObj(obj) {
var clone = {};
for (var i in obj) {
if (obj[i] && typeof obj[i] == 'object') {
clone[i] = cloneObj(obj[i]);
} else {
clone[i] = obj[i];
}
}
return clone;
}
Run Code Online (Sandbox Code Playgroud)
你可以使用jQuery.extend:
// Shallow copy
var newObject = jQuery.extend({}, oldObject);
// Deep copy
var newObject = jQuery.extend(true, {}, oldObject);
Run Code Online (Sandbox Code Playgroud)
以下帖子非常有帮助: