首页 > 其他分享 >递归深拷贝

递归深拷贝

时间:2022-12-22 10:33:08浏览次数:54  
标签:obj 递归 newobj copyObj 字数 拷贝

//模拟对象
let obj = {
    numberParams:1,
    functionParams:() => {
        console.log('昨天基金全是绿的,只有我的眼睛是红的');
    },
    objParams:{
        a:1,
        b:2
    }
}

const newObj = copyObj(obj); //这样就完成了一个对象的递归拷贝

obj.numberParams = 100;  //更改第一个对象的指
console.log(newObj.numberParams); //输出依然是1 不会跟随obj去改变


//函数拷贝
const copyObj = (obj = {}) => {
//变量先置空
let newobj = null;


//判断是否需要继续进行递归
if (typeof (obj) == 'object' && obj !== null) {
newobj = obj instanceof Array ? [] : {};
//进行下一层递归克隆
for (var i in obj) {
newobj[i] = copyObj(obj[i])
}
//如果不是对象直接赋值
} else newobj = obj;

return newobj;
}



作者: 阿清
链接: https://aqingya.cn/articl/80b561a9.html
来源: 阿清的小站
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数

 

 

标签:obj,递归,newobj,copyObj,字数,拷贝
From: https://www.cnblogs.com/Z-HarOld/p/16600796.html

相关文章

  • 对于递归有没有什么好的理解方法?
      作者:JoBoBo链接:https://www.zhihu.com/question/443721615/answer/1726913861来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。学算......
  • 一文看懂什么递归(算法小结)
    前言递归是算法中一种非常重要的思想,应用也很广,小到阶乘,再在工作中用到的比如统计文件夹大小,大到Google的PageRank算法都能看到,也是面试官很喜欢的考点最近看了不少......
  • 算法-如何理解递归,写好递归函数
    不是每个程序员天生对递归理解深刻,刚入大一时候,当别人写出第一个求最大公约数的递归函数时,对其多么的惊叹,竟然可以不用循环,竟然代码可以这么简洁,确实递归在大多数情况下实......
  • Day23.2.递归
    Day23.2.递归1.定义自己调用自己递归结构包括:递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。递归体:什么时候需要调用自身方法2.例题 publicclass......
  • 数组拷贝之arraycopy
      本文主要分两部分:手动实现数组拷贝功能使用并分析System类中的数组拷贝方法1.手动实现数组拷贝功能首先来看看我们的需求:有两个已知数组如上图,从src数组中拷......
  • Cpp Primer:Sec 13:拷贝控制
    目录Sec13拷贝控制13.1拷贝、赋值与销毁13.2拷贝控制和资源管理13.3交换操作13.4拷贝控制示例13.5动态内存管理类13.6对象移动13.6.1右值引用13.6.2移动构造函数......
  • 数据结构-二叉树遍历非递归
    前序遍历voidpreorder(BTNODEBT){BTNODESTACK[100];inttop=-1;STACK[++top]=BT;BTNODEp=null;while(top!=-1){BTNO......
  • .Net7 自动拷贝appsettings.json到debug文件下
    IDERider在配置json时遇到路径的问题Theconfigurationfile'appsettings.json'wasnotfoundandisnotoptional.TheexpectedphysicalpathwasIConfiguration......
  • 深拷贝和浅拷贝
    参考:js数组和对象深拷贝的方法https://www.cnblogs.com/webSnow/p/16134946.html<!DOCTYPEhtml><html><body><h1>JavaScript数组</h1><p>请单击按钮,以使用负数......
  • Python面试常见算法题集锦(递归部分)
    0x1前言开始学习python基础的时候,有以下几种算法是面试中常见的,也是前期学习python的时候可以连带学习了解的,不卡门槛哟0x2实现算法的方式很多种,而算法的实现也是分程......