javascript克隆对象
来源:互联网 发布:随机森林算法 原理图 编辑:程序博客网 时间:2024/06/06 04:51
//javascript 深度克隆
var obj1 = {
name:"xiaozhang",
age:12,
arr:[1,2,3],
student:{
class:2
},
m:null,
ud:undefined,
ff:function(){
return 2
}
}
var obj2 = {};
function cloned(origin,target){
var target = target||{};
var toS = Object.prototype.toString;
var typed1 = "[object Array]";
var typed2 = "[object Object]";
var typed3 = "[object Null]";
for(var x in origin){
if(origin.hasOwnProperty(x)){
if(typeof(origin[x])=="object"){
if(toS.call(origin[x])===typed1){
//var arr = [];
target[x] = [];
cloned(origin[x],target[x]);
}
if(toS.call(origin[x])===typed2){
//var obj = {};
target[x] = {};
cloned(origin[x],target[x]);
}
if(toS.call(origin[x])===typed3){
//var obj = {};
target[x] = null;
}
}else{
target[x] = origin[x];
}
}
}
return target;
}
cloned(obj1,obj2);
var obj1 = {
name:"xiaozhang",
age:12,
arr:[1,2,3],
student:{
class:2
},
m:null,
ud:undefined,
ff:function(){
return 2
}
}
var obj2 = {};
function cloned(origin,target){
var target = target||{};
var toS = Object.prototype.toString;
var typed1 = "[object Array]";
var typed2 = "[object Object]";
var typed3 = "[object Null]";
for(var x in origin){
if(origin.hasOwnProperty(x)){
if(typeof(origin[x])=="object"){
if(toS.call(origin[x])===typed1){
//var arr = [];
target[x] = [];
cloned(origin[x],target[x]);
}
if(toS.call(origin[x])===typed2){
//var obj = {};
target[x] = {};
cloned(origin[x],target[x]);
}
if(toS.call(origin[x])===typed3){
//var obj = {};
target[x] = null;
}
}else{
target[x] = origin[x];
}
}
}
return target;
}
cloned(obj1,obj2);
阅读全文
0 0
- javascript对象克隆
- javascript克隆一个对象
- JavaScript深层克隆对象
- JavaScript对象深度克隆
- javascript克隆对象
- JavaScript 深度克隆 JSON 对象
- javascript深度克隆一个对象
- JavaScript的对象深度克隆
- javascript深度克隆一个对象
- javaScript中对象的克隆
- javascript中对象的深度克隆
- JavaScript中对象的深度克隆
- javascript中对象的深度克隆
- javascript中对象的深度克隆
- JavaScript的对象深度克隆方法
- javaScript中对象的深度克隆
- javascript中对象的深度克隆
- javascript中对象的深度克隆
- 分布式锁机制
- python 常用的内置模块使用
- 数位dp 总结 51nod数字1的数量 数字0-9的数量
- 八 、DockerUI与Shipyard以及InfluxDB+cAdvisor+Grafana配置监控
- 合法回文-计蒜客
- javascript克隆对象
- 从btree的角度来说说为什么插入频繁的mysql innodb表必须要自增id 必须自增id
- 一个bug引发的哲学思考
- select.union all .where.解决方案
- 微服务实战(三):深入微服务架构的进程间通信
- 微服务实战(四):服务发现的可行方案以及实践案例
- mybatis延迟加载
- 微服务实践(五):微服务的事件驱动数据管理
- 微服务实战(六):选择微服务部署策略