如何克隆js对象?
可能重复:
什么是克隆JavaScript对象最有效的方法?
如何用这样的引用克隆js对象:
{ ID: _docEl,
Index: next,
DocName: _el
}
有任何想法吗?
您必须遍历该对象并复制其所有属性。
然后,如果它的任何属性也是对象,假设你也想克隆它们,那么就必须缓存它们。
这里有多种方法可以做到这一点:克隆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;
}
你可以使用jQuery.extend:
// Shallow copy
var newObject = jQuery.extend({}, oldObject);
// Deep copy
var newObject = jQuery.extend(true, {}, oldObject);
以下文章非常有用:
在JavaScript中深入克隆对象的最有效方法是什么?
链接地址: http://www.djcxy.com/p/6947.html