lodash - 获取柯里化(Currying)函数的数量

标签 lodash

如何获得 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/

相关文章:

underscore.js - Lodash 和 Underscore.js 的区别

javascript - Lodash 的 debounce 功能计时器无法正常工作

javascript - 将一组对象转换为数组项

javascript - 如果其中一个属性包含特定值,则删除数组元素

来自对象数组的 Javascript/Lodash 深度比较对象

javascript - 对象中嵌套重复数组

javascript - 减少包含几乎相同对象的数组

javascript - 如何在没有运算符的情况下将 lodash _ 与数组而不是多个参数一起使用

javascript - 如何将元素插入数组而不重复它们?

javascript - 从字符串中选取元素并插入数组