如何在每个循环内“继续”:下划线,node.js

时间:2013-09-06 06:13:59

标签: node.js loops underscore.js

node.js中的代码非常简单。

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

我的问题是,如果superUser设置为false,如何在不执行“Some code”的情况下继续下一个索引?

PS:我知道其他条件可以解决问题。仍然很想知道答案。

3 个答案:

答案 0 :(得分:131)

_.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
});

请注意,使用lodash(不是下划线)_.forEach如果你想提前结束“循环”,你可以从iteratee函数中明确return false并且lodash将终止forEach循环早。

答案 1 :(得分:12)

而不是for循环中的continue语句,您可以在underscore.js中的return中使用_.each()语句,它将仅跳过当前迭代。

答案 2 :(得分:0)

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