如何从Javascript中的嵌套forEach函数中断开for in循环?
我有一个这样的循环如何从Javascript中的嵌套forEach函数中断开for in循环?,javascript,for-loop,foreach,break,Javascript,For Loop,Foreach,Break,我有一个这样的循环 for(参数中的变量键){ if(Array.isArray(params[key])){ 参数[key]。每个(函数(项){ 让值=某物(item.start,item.end); 如果(值==item.start | |值==item.end){ 返回false//break } }) } } 当我设置return false停止every()函数时,我也想停止第一个循环。我该怎么做?我试过这个: OUTER_循环:for(参数中的变量键){ if(Array.isAr
for(参数中的变量键){
if(Array.isArray(params[key])){
参数[key]。每个(函数(项){
让值=某物(item.start,item.end);
如果(值==item.start | |值==item.end){
返回false//break
}
})
}
}
当我设置return false
停止every()
函数时,我也想停止第一个循环。我该怎么做?我试过这个:
OUTER_循环:for(参数中的变量键){
if(Array.isArray(params[key])){
参数[key]。每个(函数(项){
让值=某物(item.start,item.end);
如果(值==item.start | |值==item.end){
返回false//break
中断外部_循环;//不工作
}
})
}
}
但它不是这样工作的。。。那么,如何才能正确地同时停止every()
函数和第一个循环呢?您可以获取并返回true
以退出some
,并使用some
的返回值来中断循环
for (var key in params) {
if (Array.isArray(params[key])) {
const
leave = params[key].some(item => {
let value = something(item.start, item.end);
// exit condition should return true/truthy value
// for leaving the outer loop
return value === item.start || value == item.end;
});
if (leave) break;
}
}
谢谢,但是
return true
不会停止for(var key in params)
loopyes,请参见编辑。结果需要在外面加上一个检查。谢谢,我再次更新了我的代码,因为我忘了一些东西。。。它是否仍然适用于some()
?你能再看一下吗?谢谢你的更新。但我有一个问题something()
返回一个浮点值,例如0.99
,如果项.end
是1
,则循环在1
之前结束,因此在我的控制台中。log()我看到它以0.99
而不是1结束。我怎样才能改变if条件,这样我也可以看到1一次,然后循环中断?或者我需要在返回值之前传递我的其他内容吗?您可以对值进行四舍五入…?您可以共享param的内容吗