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>