"继续"在Lodash forEach

时间:2017-04-06 08:26:33

标签: javascript foreach underscore.js each lodash

我正在查看Underscore和Lodash库之间的差异,我遇到了一个关于_.each / _.forEach的问题。

在Underscore中,_.each函数无法摆脱循环。当使用return false时,它只能作为" continue"声明。 (这是我的预期功能)=它强制进行循环的下一次迭代,跳过其间的任何代码。

另一方面,在Lodash中,返回false告诉_.forEach()这个迭代将是最后一个。有没有办法让"继续"行为在Lodash中也起作用了吗?

感谢。

1 个答案:

答案 0 :(得分:40)

  

另一方面,在Lodash中,返回false告诉_.forEach()这个迭代将是最后一个。有没有办法让Lodash中的“继续”行为也起作用?

您可以返回true,或只返回一个return(返回undefined),此值与{em>“早期退出迭代的needed false不同明确返回false。“

_.forEach([1, 2, 3, 4, 5], function (a) {
    if (a < 3) return;       // continue
    console.log(a);
    if (a > 3) return false; // break
    // return undefined;     // continue, undefined is the standard value of ending a function
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>