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.
To continue in a JavaScript forEach loop you can't use the continue statement because you will get an error. Instead you will need to use the return statement in place of the continue statement because it will act in the same way when using a forEach because you pass in a callback into the forEach statement.
Javascript. Conclusion: Hence to break Lodash forEach loop we have to return false from the callback function.
To wait for . forEach() to complete with JavaScript, we should replace forEach with a for-of loop. const myAsyncLoopFunction = async (array) => { const allAsyncResults = []; for (const item of array) { const asyncResult = await asyncFunction(item); allAsyncResults. push(asyncResult); } return allAsyncResults; };
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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With