小课堂[萌新分院]

【JS-4】如何实现数组深拷贝和浅拷贝?

分享人:任先阳

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

1)什么是数组?
[1,'2','sss'] 这就是一个数组
1)什么是对象数组?
[{name:1},{name:2},{name:3}] 每个元素都是对象的数组叫对象数组

2.知识剖析

1)为什么有这个问题<\如何实现数组深拷贝和浅拷贝?\>
基本数据类型 --> undefined、null、Number、Boolean、String --> 栈内存
特点:
1块内存地址,直接栈内存
基本数据类型复制就像配钥匙,复制的结果就是,两把钥匙,看起来一模一样

引用数据类型 --> Object、Array、Function --> 堆内存
特点:
2块内存,栈内存存放指针,堆内存存放值
引用类型吧,它类似共享的,就好像1辆小黄车,每个人都可以骑,每次骑车都可能对它有影响,

3.常见问题

1)如何深拷贝数组(..不包含对象的数组,包含对象的数组放在扩展思考)?

4.解决方案

1)Array对象的方法
Array对象
demo1
2)循环
demo2

5.编码实战

6.扩展思考

demo3

7.参考文献

8.更多讨论

鸣谢

感谢大家观看

By 任先阳