node.js中的代码非常简单。
_.each(users, function(u, index) {
if (u.superUser === false) {
//return false would break
//continue?
}
//Some code
});
我的问题是,如果将superUser设置为false,如何在不执行“某些代码”的情况下继续下一个索引?
PS:我知道其他条件也可以解决问题。仍然想知道答案。
node.js中的代码非常简单。
_.each(users, function(u, index) {
if (u.superUser === false) {
//return false would break
//continue?
}
//Some code
});
我的问题是,如果将superUser设置为false,如何在不执行“某些代码”的情况下继续下一个索引?
PS:我知道其他条件也可以解决问题。仍然想知道答案。
Answers:
_.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
});
附带说明一下,_.forEach
如果您想尽早结束“循环” ,请使用lodash(而不是下划线),可以return false
从iteratee函数显式地结束,lodash将forEach
尽早终止循环。
_.each
和常规for () {}
循环不是同一回事。
for-each(collection, callback)
在JS中使用时,里面没有任何for循环,callback
因此break/continue
不适用。
_.each(users, function(u, index) {
if (u.superUser) {
//Some code
}
});