对象深拷贝和浅拷贝
作者:
Sketch | 来源:发表于
2017-10-31 20:04 被阅读5次
浅拷贝
function shallowCopy(oldObj) {
var newObj = {};
for (var i in oldObj) {
if (oldObj.hasOwnProperty(i)) {
newObj[i] = oldObj[i];
}
}
return newObj;
}
深拷贝
深拷贝的递归方法
function deepCopy(oldObj) {
var newObj = {};
for (var key in oldObj) {
if (typeof oldObj[key] === 'object' && typeof oldObj[key] !== null) {
newObj[key] = deepCopy(oldObj[key]);
} else {
newObj[key] = oldObj[key];
}
}
return newObj;
}
深拷贝的JSON方法
newObj = JSON.parse(JSON.stringify(oldObj));
本文标题:对象深拷贝和浅拷贝
本文链接:https://www.haomeiwen.com/subject/rnhipxtx.html
网友评论