/*** 深拷贝实现*/const obj = {name: 'xxxx',test: 'xxx',// 浅拷贝中,这一层只能拷贝引用msg: {name: 'xxx',},color: ['pink', 'red'],}const obj_test = {}// 利用函数递归来实现深拷贝function deepCopy(newObj, oldObj) {for (const key in oldObj) {// 判断我们的属性值属于那种数据类型const item = oldObj[key]// 判断item是否为数组if (Array.isArray(item)) {newObj[key] = []deepCopy(newObj[key], item)// 注意 Array instanceof Object 数组是属于对象的 先过滤}else if (item instanceof Object) {// 判断item是否为对象newObj[key] = {}deepCopy(newObj[key], item)}else {// 判断是否为简单数据类型newObj[key] = item}}}deepCopy(obj_test, obj)// 输出对比console.log(obj_test, obj)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。