gpt4 book ai didi

javascript - 我可以从另一个 _each 中打破一个 _each 吗?

转载 作者:行者123 更新时间:2023-11-30 17:09:54 24 4
gpt4 key购买 nike

我是新来的下划线。对于外部 _each 循环,我希望只计算一次转换。换句话说,我希望它在第一次转换后停止。y++。这可能吗?

_.each(conversions, function(conversion){
_.each(user.apilog, function(event){
if( conversion.conditional(event) ){
conversion.y++;
}
})
})

最佳答案

引用下划线文档:

It's also good to note that an each loop cannot be broken out of — to break, use _.find instead.

所以不,它不能被打破 - 他们的建议是使用 .find - 它打破了你从它返回的第一个 truthy 值 - 那赢了'帮助你嵌套每个虽然你可以设置一个标志:

var flag = false;;
_.find(conversions, function(conversion){
_.find(user.apilog, function(event){
if( conversion.conditional(event) ){
conversion.y++;
return flag = true;
}
});
return flag;
});

或者不使用嵌套的_.each 循环,一种优雅的方法是使用cartesian product。 :

   var prod = cartProd(conversations, user.apilog);
_.find(prod, function(item){
return item[0].conditional(item[1]); // will break on find
});

虽然普通的旧 JS for 循环也可以工作并且可能会更快。

关于javascript - 我可以从另一个 _each 中打破一个 _each 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27259635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com