共计 462 个字符,预计需要花费 2 分钟才能阅读完成。
背景
理论开发中,解决数据常常会应用到数据拷贝。其实应用 JSON.stringify() 与 JSON.parse() 来实现深拷贝是很不错的抉择。
然而当拷贝的数据为 undefined,function(){} 等时拷贝会为空,这时就须要采纳递归拷贝。
应用 JSON 实现拷贝时,留神拷贝数据,看是否适宜应用。
以下是手写简略深拷贝
代码
/**
* @param obj
* @description 深拷贝
*/
export const deepClone = (obj: any) => {
// 判断是否须要递归
if (typeof obj !== 'object' || obj == null) {return obj;}
let result: any;
if (obj instanceof Array) {result = [];
} else {result = {};
}
for (let key in obj) {if (obj.hasOwnProperty(key)) {result[key] = deepClone(obj[key]);
}
}
return result;
};
export default deepClone;
正文完
发表至: javascript
2022-03-29