JavaScript笔记-复制object
es6中,可以使用Object.assign
来复制对象:
1 | var obj = { a: 1 }; |
但是他执行的是浅复制:
1 | var a = { |
如何在js中执行深复制呢?
javascript - What is the most efficient way to clone an object? - Stack Overflow这个问答提供了很多解决方法,同时也暴露了js基础设施不完善的缺点。
众多的方案中,我采用的是基于underscore
的方法:
var newObject = _.clone(oldObject);
还可以用lodash
,他的API和underscore
基本一样。
1 | var newObject = _.clone(oldObject); |
_.clone
和_.cloneDeep
对应浅复制和深复制。还是很方便的。
如果觉得文章对你有帮助,就打赏杯咖啡钱呗😊