深浅拷贝的理解与使用

博客介绍了深拷贝与浅拷贝的原理,深拷贝是多层拷贝对象或数组数据,浅拷贝仅拷贝一层。还给出了浅拷贝的实现方法,如使用es6语法、结构赋值、js转换赋值,以及深拷贝用递归实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三分钟了解深拷贝与浅拷贝

原理:
所谓深拷贝的就是多层拷贝对象或数组中的数据,浅拷贝的话就是拷贝一层数据

首先是浅拷贝的实现

  1. 我们可以使用es6的语法
 var obj = object.assgin({},"要拷贝的数据")

2.第二种结构赋值

let a={
age:1
}
let b={...a}
a.age=2
console.log(b.age)

3.第三种js转换进行赋值

JSON.parse(JSON.stringify(object))

其次是深拷贝的实现
深拷贝使用递归来实现

function kao(obj){
	var  arr = ""
	for(var i in obj ){//obj是要拷贝的对象
		if(typeof(obj[i]) == object){
			arr = arr.concat(kao(obj[i]))
		}else{
		 arr.push(obj[i])
		 }
	   }
	}
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值