博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实现JS数组的深拷贝
阅读量:4523 次
发布时间:2019-06-08

本文共 353 字,大约阅读时间需要 1 分钟。

最近在网上看到一篇关于js数组复制最有效的方法是直接使用slice和concat方法。这2个方法的确是最快的把数组成功复制,而不是引用。可以运行实例:

运行结果可以看到改变原来数组中的元素并不影响拷贝后的数组。但是如果我们把上面例子中的a1换成[["1","2","3"],"2","3"],也就是二维数组,情况就不一样了。

可以看到这2个方法只是复制了数组的第一维,由于数组第一维存放的是第二维的引用,而第二维才是实际存放他们的内容。就此我们可以联想到网上流行的复制对象的函数,其实也只是复制对象的第一层。

所以要想深层复制对象,还得在该函数基础上修改下。完整实例如下:

转载于:https://www.cnblogs.com/Loofah/archive/2012/03/23/2413665.html

你可能感兴趣的文章
C# 笔记
查看>>
android 之输入法
查看>>
编译参数-ObjC的说明
查看>>
配置Synergy(Server : XP, client: Win7)
查看>>
Hadoop集群(第7期)_Eclipse开发环境设置
查看>>
Mysql 多表查询详解
查看>>
Ubuntu下tensorboard的使用
查看>>
门面模式
查看>>
Navicat Premium 10/12——破解激活
查看>>
【leetcode❤python】 290. Word Pattern
查看>>
Mysql备份还原数据库之mysqldump实例及参数详细说明 -转自http://www.cnblogs.com/xuejie/archive/2013/01/11/2856911.html...
查看>>
2013年10月13日学习:SQL通过命令语句来创建表
查看>>
剑指offer : 二维数组中的查找
查看>>
第三章 python基础
查看>>
java基础题
查看>>
[转]人人店短信插件开发
查看>>
[转]c# System.IO.Ports SerialPort Class
查看>>
14. 最长公共前缀
查看>>
Redis文档
查看>>
项目重构
查看>>