当前位置: 首页 > web >正文

JS手写代码篇---手写深拷贝

17、深拷贝

深拷贝与浅拷贝最大的不同就是对象的属性是嵌套对象,会新建一个对象

步骤:

  • 判断是否为对象
  • 判断是否为i数组或者对象,给新的有个容器
  • 遍历循环,如果是对象要遍历循环,采用递归
 function deepCopy(obj){// 判断是否为对象if(!obj || typeof obj !== 'object'){return obj;}// 判断是否为数组或者是都西昂newCopy = Array.isArray(obj) ? [] : {};// 进行遍历,如果是对象的话重新使用deep函数for(let key in obj){if(obj.hasOwnProperty(key)){newCopy[key] =  typeof key === 'object' ? deepCopy(obj[key]) : obj[key];}}return newCopy;}
http://www.xdnf.cn/news/13559.html

相关文章:

  • 万字深度解析注意力机制全景:掌握Transformer核心驱动力​
  • PHP性能提升方案
  • Redis的主从复制底层实现
  • 数组方法_push()/pop()/数组方法_shift()/unshift()
  • Springboot中 MyBatis-Flex TableDef 的使用
  • 常见的CAN总线协议面试题
  • 一套基于Apple watch电话手表包含150个覆盖商务、健康、爱好、定位、时钟、挂件的移动端UI界面的psd
  • 多项式求和
  • 复合材料成型工艺
  • 孙宇晨Token 2049高峰对话,技术话题与社会议题相结合
  • SHA-1算法详解:原理、特点与应用
  • ( github actions + workflow 01 ) 实现爬虫自动化,每2小时爬取一次澎湃新闻
  • Yakit 热加载入门学习指南
  • 深入理解 PCIe 协议中 BDF(Bus/Device/Function)分配与管理机制
  • (九)现代循环神经网络(RNN):从注意力增强到神经架构搜索的深度学习演进
  • 广东省省考备考(第二十六天6.11)—言语:语句表达(练习)
  • leetcode_283.移动零
  • 品牌控价需要精准SKU 数据监测
  • 【 WWDC25:新系统,新命名】
  • 五款MySQL 可视化客户端软件
  • 相机--单目相机
  • 《tqdm:让你的代码会“喘气”的神奇进度条!》
  • 性能测试Locust的使用
  • Docker pull时报错:https://registry-1.docker.io/v2/
  • FastAPI基础入门(三)
  • 创客匠人赋能家庭教育行业:从知识分享到IP变现的转型之路
  • 数值偏微分方程的代数骨架:线性代数及其挑战-AI云计算
  • 公司网络变差的解决方法(固定IP地址冲突)
  • Python实现自动化识别蛋白-配体氢键
  • 第二部分-静态路由实验