位置: IT常识 - 正文

js中对象数据类型的深拷贝方法(5种)(js对象数据类型有哪些)

编辑:rootadmin
js中对象数据类型的深拷贝方法(5种)

目录

一、使用JSON暴力转换

二、 使用拓展运算符+解构赋值

三、 使用对象的合并,即通过Object.assign()方法

四、通过遍历对象

五、利用循环递归


一、使用JSON暴力转换

推荐整理分享js中对象数据类型的深拷贝方法(5种)(js对象数据类型有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js中对象数据类是什么,js中对象数据类有哪些,js对象类型的语法规则,js 对象数组方法,js中对象数据类有哪些,js中对象数据类有哪些,js对象数据类型有哪些,js中对象数据类是什么,内容如对您有帮助,希望把文章链接给更多的朋友!

js中对象数据类型的深拷贝方法(5种)(js对象数据类型有哪些)

        通过JSON.stringify() 和 JSON.parse() 将对象转为字符串之后在转为对象。

var obj = {name:'123'};var obj2 = JSON.parse(JSON.stringify(obj))二、 使用拓展运算符+解构赋值

        该方法的局限性在于,当值为undefined、function、symbol会在转换过程中被忽略。

var obj = {name:'123',age:13};var obj2 = {...obj}三、 使用对象的合并,即通过Object.assign()方法

        注意:该方法的第一个参数必须是空对象

var obj = {name:'123',age:13};var obj2 = Object.assign({},obj);四、通过遍历对象var obj1 = {name:"123"};var obj2 = {};for(x in obj1) { obj2[x] = obj1[x];}五、利用循环递归

        以上四种方法只能进行一层拷贝,即当对象的属性值也是对象时,就无法实现该属性的深拷贝,在这里提供一种利用循环递归进行深拷贝的方法。

var obj = { name: "123", sex: { age: "小花" } }; var newObj = {}; function deepClone(obj, newObj) { var newObj = newObj || {}; for (let key in obj) { if (typeof obj[key] == 'object') { newObj[key] = (obj[key].constructor === Array) ? [] : {} deepClone(obj[key], newObj[key]); } else { newObj[key] = obj[key] } } return newObj; } console.log(deepClone(obj, newObj));//{name: "123",sex: {age: '小花'}}
本文链接地址:https://www.jiuchutong.com/zhishi/297710.html 转载请保留说明!

上一篇:基于pyecharts的中医药知识图谱可视化(pyecharts怎么用)

下一篇:火爆全网的ChatGPT让AI回答你的任何问题!国内免费用!!(火爆全网的头像男)

  • 增值税专票开错了可以作废吗
  • 利税总额计算公式利润表怎么计算
  • 存货成本核算方法有哪些
  • 商品类别发票能抵扣吗
  • 高管个人所得税政策
  • 销售货物产生的运费如何开票
  • 建筑行业机械租赁费计入什么科目
  • 普通发票红字冲销发票怎么操作
  • 缴纳公积金工资基数
  • 个人所得税没有税也要申报吗
  • 刷信用卡的手续费去哪了
  • 算材料成本的时候要算增值税吗?
  • 公司给员工买房子
  • 企业所得税固定资产一次性扣除
  • 小规模纳税季度申报
  • 出售股票或债券的条件
  • 未做账怎么补账
  • 工会经费申报表的应税项应该怎样填写
  • 支付短期借款利息
  • 工资扣税标准计算方法
  • 一般纳税人购买原材料会计分录
  • 基本建设项目待摊投资管理规定
  • 工厂的劳务加工有哪些
  • 账面价值,账面净值,账面余额
  • 土地价款扣除会计分录
  • cmos电池低是什么意思
  • w10怎么找蓝牙
  • 怎么u盘装系统,u盘装系统教程图解
  • 盆栽月季花怎么修剪图解
  • YII2.0之Activeform表单组件用法实例
  • 政府补贴款计入什么科目是否纳税
  • 两借两贷属于复合会计分录吗
  • 什么情况下可以赔偿n+1
  • burp怎么安装
  • 大数据实时数仓
  • vue的slice
  • 大模型时代的自然语言处理
  • Laravel+jQuery实现AJAX分页效果
  • 固定资产类别有哪些
  • 一般纳税人两费附加减免规定
  • 小规模纳税人征收方式
  • 什么情况下开劳务费发票
  • php用户登录注册源码
  • mysql 提示
  • 收伙食费入什么科目
  • 其它应付款的账户是什么
  • 出口销售收入要交印花税吗
  • sql server 附加
  • 注册资本认缴与实缴有什么区别
  • 进项留抵月末要结转吗
  • 如何做好应收应付会计
  • 对外付汇代扣代缴所得税
  • 开办职工食堂
  • 发票分割单使用范围
  • 总账建账的原则包括
  • 加快Vista中多线程下载速度
  • fedora内核版本
  • winxp设置在哪
  • 破解浏览器内网教程
  • wp_official_1.1.3.apk软件下载
  • 笔记本电脑bios更新
  • dcom进程
  • 和查看已连接的wifi密码
  • 简述linux的系统结构
  • 索尼笔记本安装软件顺序
  • 在linux系统中,用来存放系统所需要的
  • Linux中的stat命令使用简介
  • unity shader lod
  • 阴影映射可视域分析
  • Android Studio 1.1.0 配置androidannotations框架
  • vue实现淘宝布局
  • pythone爬虫
  • nodejs怎么使用
  • unity获取ui
  • jquery设置元素css
  • javascript总结笔记
  • 新办企业税务局注册流程
  • 报fob价格最后谁退税
  • 进项税跨月转出
  • 怎样才能做好企业总经理?谈谈你的看法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设