Lodash
是一个一致性、模块化、高性能的 JavaScript 实用工具库。
_.cloneDeep(value)
这个方法类似_.clone
,除了它会递归拷贝 value
。(注:也叫深拷贝)。
参数:
value
(*): 要深拷贝的值。
返回:
(*): 返回拷贝后的值。
例子:
-
var objects = [{ 'a': 1 }, { 'b': 2 }];
-
var deep = _.cloneDeep(objects);
-
console.log(deep[0] === objects[0]);
-
// => false
_.clone(value)
创建一个 value
的浅拷贝。
参数:
value
(*): 要拷贝的值
返回:
(*): 返回拷贝后的值。
例子:
-
var objects = [{ 'a': 1 }, { 'b': 2 }];
-
var shallow = _.clone(objects);
-
console.log(shallow[0] === objects[0]);
-
// => true
1、什么是浅拷贝
创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址 ,所以如果其中一个对象改变了这个地址,就会影响到另一个对象。
2、什么是深拷贝
深拷贝会拷贝所有的属性,并拷贝属性指向的动态分配的内存。当对象和它所引用的对象一起拷贝时即发生深拷贝。深拷贝相比于浅拷贝速度较慢并且花销较大。拷贝前后两个对象互不影响。
标签:cloneDeep,clone,value,_.,objects,拷贝 From: https://www.cnblogs.com/Jishuyang/p/17141538.html