我正在查看Underscore和Lodash库之间的差异,我遇到了一个关于_.each / _.forEach的问题。
在Underscore中,_.each函数无法摆脱循环。当使用return false时,它只能作为" continue"声明。 (这是我的预期功能)=它强制进行循环的下一次迭代,跳过其间的任何代码。
另一方面,在Lodash中,返回false告诉_.forEach()这个迭代将是最后一个。有没有办法让"继续"行为在Lodash中也起作用了吗?
感谢。
答案 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>