javascript - Lodash 没有运行每个功能

标签 javascript lodash

我正在尝试:

  1. 过滤一组对象。
  2. 对过滤后的集合中的每一项运行一个函数。

我正在使用lodash,如果我写这个语句

_.each(_.filter(sut.Nodes, nodeFilter), test);

测试函数执行过滤集合长度次数

但是如果我这样写语句

_(sut.Nodes)
  .filter(nodeFilter)
  .map(test);

任何时候都不会执行测试函数。

谁能解释为什么?

我想这与懒惰有关。如果是,我该如何触发执行?

最佳答案

链式表达式是“惰性的”,因为在您请求结果之前它们不会执行。例如,您可以使用 .value() 来做到这一点在链的末端:

_(sut.Nodes)
  .filter(nodeFilter)
  .map(test)
  .value();

关于javascript - Lodash 没有运行每个功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31111882/

相关文章:

javascript - 在自定义组件内调用 useState Hook 时 react Native TextInput ReRenders

javascript - ASP.NET/JavaScript - 为什么 "Return False"不阻止回发?

javascript - 带lodash的递归过滤器

javascript - 数据公式从一个值计算出 3 种情况

javascript - 选择多个映射到不同单选组的单选按钮 - React

javascript - 如何从 Promise 内的 async/await 返回错误

javascript - NodeJS - 生成函数

php - 从 iframe 内部获取父 url 变量

javascript - Lodash 比较/合并对象与数组

javascript - 按多个属性对数组对象进行分组