js 深度克隆函数

原创 2018年04月17日 14:35:56
function re (obj){
  let obj1;
  obj1=returnType(obj);
  if(typeof obj1 !== 'object'){
    return obj1
  }
  for(var i in obj){
    if(typeof obj[i] !=='object'){
      obj1[i]=obj[i];
    }else{
      obj1[i]=re(obj[i])
    }
  }
  return obj1;
}

function returnType(obj){
  if(typeof obj !=='object') {
    return obj
  }else if(obj instanceof Array) {
    return [];
  }else {
    return {}
  }
}

javaScript中对象的深度克隆

一、js中的对象   谈到对象的克隆,必定要说一下对象的概念。   js中的数据类型分为两大类:原始类型和对象类型。 (1)原始类型包括:数值、字符串、布尔值、null、undefined(后两个是...
  • iamasuna
  • iamasuna
  • 2016-09-21 21:19:44
  • 186

JS深度克隆代码实现

js深度克隆js对象组成说对象的深度克隆之前,要先明白JS 中对象的组成。 以一句话说js中一切皆对象具体数据类型分为两种: - 原始数据类型 - 引用数据类型 原始数据类型:其中存储的...
  • github_33261002
  • github_33261002
  • 2016-10-05 13:41:03
  • 1963

JS对象深度克隆实现

本文介绍了JavaScript对象深度克隆的实现,分析了针对原始类型(数值、字符串、布尔值)和对象类型(对象,函数、数组)实现深度克隆的方法,最后给出了一个通用的JS对象深度克隆的方法。...
  • u014607184
  • u014607184
  • 2016-10-07 16:11:42
  • 5769

JavaScript 深度克隆

需求: *使用递归来实现一个深度克隆,可以复制一个目标对象,返回一个完整拷贝 *被复制的对象类型会被限制为数字、字符串、布尔、日期、数组、Object对象。不会包含函数、正则对象等 什么是...
  • xczuis
  • xczuis
  • 2015-09-22 22:37:07
  • 813

JavaScript深度克隆(深度拷贝)一个对象

有一个前端笔试题:使用JavaScript深度克隆一个对象。可是我发现大多数人都是空白,问他为什么不做,大部分说不懂这题目的意思。 科普一下: js一般有两种不同数据类型的值: 基本类型(包括u...
  • dingxingmei
  • dingxingmei
  • 2014-09-15 09:22:42
  • 3457

js的浅克隆和深度克隆

转载:http://www.jianshu.com/sign_in 听到这个名字的时候都被吓尿了。克隆听起来就很屌的样子。不过其实琢磨了一下根本没有什么好尿的——我特别讨厌一些人故作高深的摆出一...
  • hexon804
  • hexon804
  • 2016-05-05 15:46:27
  • 517

js中对象深度克隆,以及ES6中的深度克隆的实现

简要介绍:js中的对象的赋值,其实是实现了对象的引用,在赋值对象上修改属性会影响到原来的对象。–ES5中我们可以通过递归函数来实现深层次的克隆。 –ES6中我们可以通过Object.assign的方...
  • liwusen
  • liwusen
  • 2017-07-03 14:13:16
  • 4164

JavaScript深度复制(deep clone)的实现方法

转自:http://www.jb51.net/article/79707.htm 在代码复用模式里面有一种叫做“复制属性模式”(copying properties pattern)。谈到代...
  • d12345678a
  • d12345678a
  • 2016-07-26 19:29:01
  • 280

js深度克隆

整理以前的笔记,看到JS深度克隆觉得挺有趣,在总结一下:   深度克隆某个对象就是克隆对象的“自有属性”以及它的“原型链”,对于克隆原型链最好的办法就是使用它的构造函数,我们知道每个构造函数都有一个p...
  • while_own
  • while_own
  • 2016-02-16 16:41:10
  • 775
收藏助手
不良信息举报
您举报文章:js 深度克隆函数
举报原因:
原因补充:

(最多只允许输入30个字)