在Lodash forEach中"继续"

Ice*_*per 26 javascript each foreach underscore.js lodash

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

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

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

谢谢.

Nin*_*olz 50

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

你可以返回true,或只是一个单一的return(返回undefined),从这个值是不同的需要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
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)