简体   繁体   中英

“Continue” in Lodash forEach

I was looking over the differences between the Underscore and Lodash libraries and I came upon one issue regarding _.each / _.forEach.

In Underscore, the _.each function cannot break out of the looping. When using return false, it only worked as a "continue" statement. (which was the intended functionality in my case) = It forces the next iteration of the loop to take place, skipping any code in between.

In Lodash, on the other hand, returning false tells _.forEach() that this iteration will be the last. Is there a way to make the "continue" behavior also functional in Lodash?

Thanks.

In Lodash, on the other hand, returning false tells _.forEach() that this iteration will be the last. Is there a way to make the "continue" behavior also functional in Lodash?

You could return true , or just a single return (which returns undefined ), this value is different from needed false for "exit iteration early by explicitly returning 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> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM