从if语句中中断JavaScript for语句

从if语句中中断JavaScript for语句,javascript,Javascript,这就是我想要做的:循环一个复杂的数据结构,如果其中一个元素满足某些条件,就返回它。但我认为不可能从for循环中的“if”返回。最佳做法是什么?谢谢 function findIt(x) { for (i in someDataArray) { v = someDataArray[i]; if (*v meets some condition*) { return v; } } } 从if中发出return语

这就是我想要做的:循环一个复杂的数据结构,如果其中一个元素满足某些条件,就返回它。但我认为不可能从for循环中的“if”返回。最佳做法是什么?谢谢

function findIt(x) {
    for (i in someDataArray) {
        v = someDataArray[i];
        if (*v meets some condition*) {
            return v;
        }
    }
}

if
中发出
return
语句是完全合法的

这里唯一的问题是如果找不到它会发生什么?在此函数将隐式返回
未定义的
。最好是明确这一点。不过,这是一个风格问题

function findIt(x) {
    for (i in someDataArray) {
        v = someDataArray[i];
        if (*v meets some condition*) {
            return v;
        }
    }
    return undefined;
}

if
中发出
return
语句是完全合法的

这里唯一的问题是如果找不到它会发生什么?在此函数将隐式返回
未定义的
。最好是明确这一点。不过,这是一个风格问题

function findIt(x) {
    for (i in someDataArray) {
        v = someDataArray[i];
        if (*v meets some condition*) {
            return v;
        }
    }
    return undefined;
}

你可以从你想去的任何地方回来。。关于最佳实践,请确保所有代码路径都返回某些内容,并且所有路径都应返回相同类型的数据。

您可以从任何地方返回。。关于最佳实践,请确保所有代码路径都返回某些内容,并且所有路径都应返回相同类型的数据。

您可能应该先尝试一下,如果它不起作用,请返回并询问您的问题。你可以从一个循环和/或if中返回。你可能应该先尝试一下,如果它不起作用,再回来问你的问题。您可以从循环内和/或如果返回。谢谢!是的,我没有提到所有的结果,只是为了让问题简单,但你回答了核心问题。谢谢!是的,我没有提到所有的结果,只是为了让问题简单,但你回答了核心问题。