js里的深度克隆
2024-08-29 03:07:17
ES6
数组克隆
let arr = [1,2,3,4,5];
let arr1 = [...arr];
arr1 = ["a","b","c"];
arr;//[1,2,3,4,5]
arr1;//["a","b","c"]
对象克隆
let obj = {name:"tony",age:18};
let obj1 = {...obj};
obj1.age = 16;
obj;//{name:"tony",age:18}
obj1;//{name:"tony",age:16}
附ES5
仅供参考
数组的克隆
function deepClone (event) {
var arr = [],
i = 0,
len = event.length;
for (; i < len; i++) {
if (event[i] instanceof Array) {
arr[i] = deepClone (event[i]);
} else arr[i] = event[i];
}
return arr;
}
对象的克隆
function deepClone(obj){
var newObj= obj instanceof Array?[]:{};
for(var i in obj){
newObj[i]=typeof obj[i]=='object'?
deepClone(obj[i]):obj[i];
}
return newObj;
}
若有不妥之处请指正,
此外,可以搜索lodash进行深度克隆的操作
最新文章
- C语言初级进阶2
- 用c解决的小题目
- C++中的异常处理(二)
- @Transactional
- BM串匹配算法
- iOS 相互引用引起内存泄露问题说明
- 优化数据页面(18)——标注keyword
- 安卓 异步线程更新Ui
- BufferedReaderTest
- AngularJS实用基础知识---入门必备
- 英语学习APP的案例分析
- GLSL Versions和GLSL ES Versions 对比
- SVM:SVM之Classification根据已有大量数据集案例,输入已有病例的特征向量实现乳腺癌诊断高准确率预测—Jason niu
- vue--vuex详解
- nodejs之querystring(查询字符串)
- sass中的循环判断条件语句
- SSL/TLS代理(termination proxy)
- sqlmap sql注入工具
- EBS通过SQL查找所有的定时请求
- Python爬虫入门(7):正则表达式