user1741851
user1741851

Reputation:

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.

Upvotes: 80

Views: 54454

Answers (3)

Peter Lyons
Peter Lyons

Reputation: 146084

_.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.

Upvotes: 140

Vishnu PS
Vishnu PS

Reputation: 221

Instead of continue statement in for loop you can use return statement in _.each() in underscore.js it will skip the current iteration only.

Upvotes: 12

pdoherty926
pdoherty926

Reputation: 10359

_.each(users, function(u, index) {
  if (u.superUser) {
    //Some code
  }
});

Upvotes: 0

Related Questions