例如:
function foo() {
someArray.map(bar) {
if (whatever)
return; // I want to return from the foo function
return bar.something // Here I return to map function
}
}
这是我目前的解决方案:
let flag = false
function foo() {
someArray.map(bar) {
if (whatever){
flag = true
}
return bar.something // Here I return to map function
}
}
if (flag === true) {
return;
}
我想知道是否有更好的方法?
答案 0 :(得分:0)
您无法破坏地图功能。但是你不使用map
的结果。如果您想在任何条件之后中断map
,可以使用some
数组方法而不是它。
例如:
let flag = false;
function foo() {
someArray.some(bar) {
if (!whatever){
return false;
}
flag = true;
return true;
}
}
if (flag === true) {
return;
}
或者您可以调用some
内的任何功能,而不是使用flag
变量
function foo() {
someArray.some(bar) {
if (!whatever){
return false;
}
callYourCodeHere()
return true;
}
}
或类似的东西:
function foo() {
const anySuccess = someArray.some(bar) {
return !!whatever;
}
if(anySuccess) {
callYourCodeHere();
}
}