位置: 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回答你的任何问题!国内免费用!!(火爆全网的头像男)

  • 税收职能和作用
  • 企业留存的盈余公积属于哪个会计科目
  • 工会经费按什么交
  • 合作社需要办什么证件
  • 在建工程转固定资产后如何计提折旧
  • 已经认证不能抵扣怎么办
  • 制作费发票明细怎么填
  • 境外公司委托境内公司付款
  • 年底暂估成本有风险吗
  • 考务费属于什么税目
  • 什么时候需要计提税金及附加
  • 核定征收的企业需要汇算清缴吗
  • 个人所得税中薪资与实际工资有什么差别
  • 公司为员工需要承担哪些责任
  • 公司年终分红如何入账
  • windows所有应用
  • php数据库添加失败的原因
  • 外汇账户转账有手续费吗
  • 员工冲借款应该怎么做账
  • 增值税专用发票怎么开
  • 万年青的养殖方法和注意事项盆栽
  • 二手商铺的税费太高了吧
  • 增值税返还政策
  • php标识符
  • 免税怎么开
  • vue程序运行过程
  • thinkphp 登录功能
  • php如何调用类
  • php递归实现1到100的和
  • vue3加ts
  • php语言之面向对象编程 educoder
  • ChatGPT是如何训练得到的?通俗讲解
  • 2021年前端还火吗
  • 收到商业承兑汇票怎么兑现
  • 代建工程开发成本核算应设置的会计科目是( )
  • 公司收不到的账款而发不出去怎么办
  • 一般公司是什么企业类型
  • 行政事业单位资产管理办法
  • 金蝶软件资产负债表公式设置
  • dedecms织梦不同栏目导航显示不同样式的方法
  • mysql底层是什么
  • 免费开源okr管理系统
  • 企业进行成本核算时,应根据生产经营特点
  • 处置废品收入税率
  • 计提增值税附加税的账务处理
  • 明细分类账户的名称,核算内容及使用方法是什么规定的
  • 小规模纳税人购买税控设备
  • 收到赠送的样品附件
  • 主播工资不发应该到哪里投诉
  • 流动比率好说明什么
  • 投资利润率多少算合理
  • 工地零电零水布置图
  • 在贫困户入股分红大会上的讲话
  • 不需要计提折旧的情况
  • 代理进口产品
  • 新款小汽车
  • 一般纳税人网上申报流程
  • 公司怎么才算正常经营
  • 建账的大体流程是什么
  • Mysql 5.7.9 shutdown 语法实例详解
  • 模糊查询的通配符有哪些
  • mac蓝牙连接iphone有什么用
  • Win10 64位正式版系统安装方法全过程图解(U大师)
  • 如何去掉桌面图标的蓝底
  • linux dhcpv6
  • win10一年更新一次
  • windows7更新补丁后蓝屏
  • windows8 应用商店
  • 升级jdk版本
  • Jquery ajax加载等待执行结束再继续执行下面代码操作
  • 菜鸟教程 安卓版
  • 批处理的应用
  • shell常用命令及示例
  • python time模块日期运算
  • 陕西国税电子税务局端还可以登录吗
  • 用于赞助的消费品需要缴纳消费税吗
  • 留抵退税退回的款如何做账
  • 应交增值税减免税款借贷方向
  • 南京市国家税务局溧水分局
  • 国家税务总局跨区迁移规定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设