Lodash克隆数组与传播运算符

我想知道是否有人知道点差算子

cosnt newArray = [...oldArray];

制作lodash方法

const newArray = _.clone(oldArray);

已过时?

或者更重要的是,如果这两种方法都更有效?

*请注意,这是一个浅表克隆,只希望在新数组中引用对象。

谢谢!

ABCEFGOPQ 回答:Lodash克隆数组与传播运算符

看起来clone比传播算子https://www.measurethat.net/Benchmarks/ShowResult/81691快。

但是,作为javascript in an expensive resource to process,添加一个库来完成Vanilla js可以做得很好的事情可能不是一个好主意。

,

_.clone可以用于除数组以外的许多其他东西:

  

此方法大致基于结构化克隆算法,并且支持克隆数组,数组缓冲区,布尔值,日期对象,映射,数字,对象对象,正则表达式,集,字符串,符号和类型化数组。参数对象自己的可枚举属性被克隆为普通对象。返回一个空对象以获取不可克隆的值,例如错误对象,函数,DOM节点和WeakMap。

相比之下,数组上下文中的传播语法仅适用于可迭代对象(例如数组和某些具有Symbol.iterator属性的其他集合),并且仅产生纯数组。可以使用_.clone调用很多东西来浅化克隆它们,这不能通过数组扩展来完成,例如普通对象。

(存在诸如对象传播之类的东西,它可以浅层复制对象,但是语法是 pretty 新的)

要考虑的另一件事是浏览器兼容性-扩展语法需要ES6支持,而对库方法_.clone的调用则不需要。

本文链接:https://www.f2er.com/3163128.html

大家都在问