nightgaunt nightgaunt - 5 months ago 36
Node.js Question

How to 'continue' inside a each loop : underscore, node.js

The code in node.js is simple enough.

_.each(users, function(u, index) {
if (u.superUser === false) {
//return false would break
//continue?
}
//Some code
});


My question is how can I continue to next index without executing "Some code" if superUser is set to false?

PS: I know an else condition would solve the problem. Still curious to know the answer.

Answer
_.each(users, function(u, index) {
  if (u.superUser === false) {
    return;
    //this does not break. _.each will always run
    //the iterator function for the entire array
    //return value from the iterator is ignored
  }
  //Some code
});

Side note that with lodash (not underscore) _.forEach if you DO want to end the "loop" early you can explicitly return false from the iteratee function and lodash will terminate the forEach loop early.