Javascript Ramda克隆和构造函数
我有要克隆的嵌套数据结构。此结构的一些深层元素是来自外部库的对象,其方法定义如下(此方法在该库的其他部分对此对象重复调用): 在更仔细地研究了Ramda文档和源代码之后,我意识到我遇到麻烦的原因是Ramda clone没有保存构造函数。我也研究过这个问题,了解这个问题有多复杂 .Javascript Ramda克隆和构造函数,javascript,ramda.js,Javascript,Ramda.js,我有要克隆的嵌套数据结构。此结构的一些深层元素是来自外部库的对象,其方法定义如下(此方法在该库的其他部分对此对象重复调用): 在更仔细地研究了Ramda文档和源代码之后,我意识到我遇到麻烦的原因是Ramda clone没有保存构造函数。我也研究过这个问题,了解这个问题有多复杂 . 所以,如果a可以假设我的数据结构不包含任何日期对象,我可以通过构造函数实现克隆吗(正如其中一个答案所示)?最好的行动方案是什么?谢谢大家! 您可以轻松克隆特定类型;如果您知道该类型的对象是如何构造的,并且重复该过程所
所以,如果a可以假设我的数据结构不包含任何日期对象,我可以通过构造函数实现克隆吗(正如其中一个答案所示)?最好的行动方案是什么?谢谢大家! 您可以轻松克隆特定类型;如果您知道该类型的对象是如何构造的,并且重复该过程所需的数据在您的范围内可用(可能在对象本身中),那么您通常可以复制该过程以创建克隆。但这对可能传递给通用
clone
函数的任意对象没有帮助。这就是为什么Ramda有它的局限性,很难想象一个通用的解决方案能很好地工作;如果您知道该类型的对象是如何构造的,并且重复该过程所需的数据在您的范围内可用(可能在对象本身中),那么您通常可以复制该过程以创建克隆。但这对可能传递给通用clone
函数的任意对象没有帮助。这就是为什么Ramda有它的局限性,很难想象一个通用的解决方案能很好地工作。
clone: function () {
return new this.constructor( this.x, this.y, this.z );
}