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

  • 未达起征点的增值税要交企业所得税吗
  • 个人出售普通住宅应当缴纳哪些税
  • 生产成本科目期末余额反映的是
  • 发票采集即征即退怎么填
  • 签章是签字还是盖章z还是手印
  • 小公司可以不交五险一金吗
  • 个体工商户收到发票怎么做账
  • 停产期间产生的费用怎么处理?
  • 核定征收的个人所得税怎么申报
  • 代收代付给个人
  • 资金账簿印花税最新政策2023
  • 建筑业在外地预缴的所得税能退吗
  • 股票价格变化的原因
  • 房地产企业税负率
  • 小规模纳税人发票增额需要什么手续
  • 发票查询发票代码有误
  • 银行现金日记账表格
  • 受让股东对出让股东抽逃出资
  • 鸿蒙系统如何截屏
  • 以前年度损益调整会计分录
  • 股东之间转让股权需要股东会决议吗
  • 健康助手在哪里找到
  • 系统更新到win11后还可以调回win10吗
  • mac 怎么操作
  • php curl_init
  • php $_files
  • php实现用户登录
  • 富文本编辑器和markdown编辑器的区别
  • 建行e信通怎么提现怎么操作
  • html流光按钮
  • dac模型
  • 部署fabric
  • python爬虫入门教程
  • thinkphp3.0
  • lvs命令详解
  • php微信分享源码
  • 办公室清洁费计算公式
  • 税务局规定500元以下收据的要求
  • 电子专用发票抵扣
  • 代扣代缴境外增值税税率是多少
  • 门窗安装属于土建还是安装?
  • mongodb $lookup
  • 固定资产是价税合计吗
  • 所得税汇算清缴账务处理
  • 增值税无票收入负数预警值
  • 办公用品普通发票税点多少
  • 支付平台费率
  • 替别人公司开发票违法吗
  • 差旅费属于什么会计要素
  • 毛利润包括什么
  • 原股东将全部股权转让
  • Win10控制面板在c盘哪里
  • 利用ipy做ip地址的管理
  • dockers容器
  • windows8.1安装windows7
  • windowxp系统升级
  • mac电脑废纸篓清空文件恢复
  • centos6关闭图形界面
  • 怎么安装最新显卡驱动
  • win7查看本机信息
  • win10 系统桌面
  • 常用的linux操作
  • linux创建目录函数
  • win7系统网络连接禁用怎么开启
  • linux系统怎么修改文件里的参数
  • windows8无法安装wps
  • 更改uac设置在哪
  • node .js
  • linux 网卡 配置
  • linux c 线程池
  • python中的urllib
  • python写一个复制文件的程序
  • listview.items.add
  • python数据类型详解
  • 山西地方税务局领导班子
  • 财政拨款是否需交税
  • 乌市沙区医保局电话是多少
  • 江苏个体户年报怎么填
  • 如何加强木材加工质量
  • 如何开展班级全部活动
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设