我一直对处理这个问题的最佳方式感到困惑。我过去一直使用的方法有效,但似乎必须有更好的方法。函数内部的Javascript中断/返回函数
下面我有一段代码,我想要为函数getData
返回item
。问题出现在下面的示例中,它返回的功能不是getData
函数。
function getData() {
var array = ["element1","element2"];
array.forEach(function (item) {
if (item == "element2") {
return item;
}
});
}
我一直在做这样的事情来克服这一点。
function getData() {
var array = ["element1","element2"];
var returnValue;
array.forEach(function (item) {
if (item == "element2") {
returnValue = item;
}
});
if (returnValue) {
return returnValue;
}
}
有没有更好的方法来处理这个问题?看起来像那些额外的4行代码只是在我的代码中造成混淆和混乱。
['Array.prototype.find()'](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/find)or ['Array.prototype.indexOf' ](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) – zerkms
如果你只是使用了for循环,你可以返回没有问题。否则,你几乎不得不做类似上面的事情。 – Whothehellisthat
尽管你可以通过删除末尾的if语句来简化它。如果returnValue没有被设置,它将是'undefined',所以会返回undefined - 就像if失败一样;该函数无论如何都会返回'undefined'。 – Whothehellisthat