Lodash没有运行每个功能

Lodash not running each function

本文关键字:功能 运行 Lodash      更新时间:2023-09-26

我正在尝试:

  1. 筛选对象集合
  2. 对筛选的集合中的每个项运行一个函数

我用的是lodash,如果我写这个声明

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

测试功能执行过滤收集长度乘以

但如果我写这样的声明

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

测试功能在任何时候都不会执行。

有人能解释一下原因吗?。

我怀疑这与懒惰有关。如果是的话,我该如何执行死刑?

链式表达式是"惰性"的,因为它们在请求结果之前不会执行。例如,您可以通过在链的末尾使用.value()来实现这一点:

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