JS深拷贝对象f

代码如下(示例):

export function deepCopy(obj) {var objClone = Array.isArray(obj) ? [] : {};if (obj && typeof obj === "object") {for (var key in obj) {if (obj.hasOwnProperty(key) && obj[key] != undefined) {//判断ojb子元素是否为对象,如果是,递归复制if(obj[key].constructor === RegExp){objClone[key] = new RegExp(obj[key])}else if (obj[key] && typeof obj[key] === "object") {objClone[key] = deepCopy(obj[key]);} else {//如果不是,简单复制objClone[key] = obj[key];}}}}return objClone;
}

JS深拷贝对象方法封装相关推荐

  1. 【EventBus】事件通信框架 ( 实现几个关键的封装类 | 消息中心 | 订阅注解 | 订阅方法封装 | 订阅对象-方法封装 | 线程模式 )

    文章目录 一.消息中心 二.订阅方法时的注解 三.订阅方法封装 四.订阅对象-方法封装 五.线程模式 一.消息中心 此处暂时只实现一个单例类 , 后续 注册订阅者 , 处理事件传递 , 取消注册订阅者 ...

  2. 原生js时间格式化方法封装

    原生js时间格式化方法封装 创建formatDate函数,传入date(时间)和format(格式)两个参数,简单判断format返回相应格式的时间 注意:getMonth()方法获取到的月份会比实际 ...

  3. H5 js 处理localstorage方法封装

    李说: (已验证,可以直接用于开发中.) 在移动端开发中,我们未来将一根页面的数据带到另外一个页面中,需要将数据临时存放到缓存中,这时我们就用到了localstorage,相当于pc端的cookie和 ...

  4. js 遍历对象方法大全

    目录 前言 键值对遍历(推荐) 键遍历 值遍历 尾言 前言 记录一下js遍历对象的方法,做个分类比较好记. 键值对遍历(推荐) 同时得到键(key)和值(value) for (let [key, v ...

  5. JS——遍历对象方法总结

    遍历对象方法 一.对象遍历方法 1.==for...in== 2.==Object.keys()==.==Object.values()==.==Object.entries()== 3.==Obje ...

  6. JS 常用对象方法总结

    1.Object.create() 新建一个对象,新建对象拥有指定原型和若干个指定属性 接收两个对象参数: proto:必选,新建对象的原型对象 propertiesObject:可选,给新建对象创建 ...

  7. 【JS】对象方法(工作常用)

    文章目录 转数组(常用) 枚举键值对(entries) 枚举属性名(keys) 枚举属性值(values) 判断操作 删除(delete) 判断(in) 判断属性名(hasOwnProperty) 判 ...

  8. js遍历对象方法总结

    遍历对象 复制代码 let obj = {a:1,b:true,c:"hello" } 复制代码 方法一:通过Object.keys(obj)遍历返回一个数组,包括对象自身的(不含 ...

  9. js中对象数据类型的深拷贝方法(5种)

    目录 一.使用JSON暴力转换 二. 使用拓展运算符+解构赋值 三. 使用对象的合并,即通过Object.assign()方法 四.通过遍历对象 五.利用循环递归 一.使用JSON暴力转换 通过JSO ...

最新文章

  1. Swift标识符和keyword
  2. 数据结构实践——队列数组
  3. springboot util 测试类怎么写_SpringBoot入门建站全系列(九)文件上传功能与下载方式...
  4. 编译原理——实验叁——基于YACC的TINY语法分析器的构建
  5. 卷积神经网络之AlexNet
  6. OLTP和OLAP是什么
  7. Spring boot 开发组件
  8. android 添加字幕,字幕添加器app-字幕添加器安卓版v2.0.1 - 起点软件园
  9. 发布uubox.net客户端工具及其源代码
  10. 2023 新版 微信公众号无限回调系统源码
  11. spring实现判断日期是否为节假日(包括周末)功能
  12. (转)[IOS]正在通过app store进行鉴定解决方案
  13. win7无线网显示小太阳
  14. ISO8583报文128个域说明
  15. MySQL优化之Explain
  16. antDesignPro线上刷新404 和 liunx部署使用mock数据 umi-serve + pm2
  17. 如何将一个现有的Vue网页项目封装成electron桌面应用(转载)
  18. ISP_matlab
  19. MATLAB将.m文件打包为DLL
  20. 钢材理论重量计算公式大全

热门文章

  1. 基于SSH开发美食网系统网站+论文+PPT+开题报告+任务书+外文翻译 毕业设计
  2. python开发路由器_Django之路由分配系统
  3. 【Tableau Server日常维护10】 安装Tableau server 2019.2版本注册表拒绝访问:RegsetValue Failed: code 5.拒绝访问。
  4. 方舟加入服务器显示lnvalid,方舟:生存进化 更新180.4后打怪无效解决方法
  5. 精通Scrapy网络爬虫-刘硕-专题视频课程
  6. access和python哪个强大_python与access选哪个
  7. Adnroid studio申请权限
  8. 做研究,没有基础怎么行
  9. 测试用例设计——因果图法
  10. 锤子m1 android 7,Smartisan 锤子 M1L 入手两日感受和DIY换背盖经验分享