在if语句中打破JavaScript for语句

时间:2011-09-30 17:03:24

标签: javascript

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

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

2 个答案:

答案 0 :(得分:1)

return内发出if声明是完全合法的。

这里唯一的问题是如果找不到会发生什么?这里函数将隐式返回undefined。明确这样做可能会更好。这是一个风格问题。

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

答案 1 :(得分:0)

您可以从任何您想要的地方返回..就最佳做法而言,请确保所有代码路径都返回一些内容,并且所有路径都应返回相同类型的数据。