如何获得 lodash 中柯里化(Currying)函数的元数?
考虑:
const uniqueBy = curry((谓词, 数据) => {});
在我编写的测试中,我想知道 uniqueBy
函数的数量以及部分应用的 uniqueBy
函数的数量。
const PartialApplied = uniqueBy(x => x.get('name'));
期望(partiallyApplied.length).to.equal(1);
等等。
在普通 JS 中,我们可以执行uniqueBy.length
。在 lodash 中执行相同操作始终返回 0
,因为我们最终会计算 wrapper()
函数的数量。
lodash 中是否有明确的方法来执行此操作?
最佳答案
Lodash 将其柯里化(Currying)和其他函数包装器的数量存储在未公开的 WeakMap 的元数据中。它避免创建带有 .length 的函数,因为这是额外的开销(通常最多有 10 个参数)并且可能因 ES6 默认参数而变得复杂。
关于lodash - 获取柯里化(Currying)函数的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36845493/