gpt4 book ai didi

javascript - 如何退出 Javascript 函数内的循环

转载 作者:行者123 更新时间:2023-12-03 00:39:30 29 4
gpt4 key购买 nike

我试图在找到值时退出函数调用,但我无法理解这一点。

使用调试器,我注意到 returnfound; 行使执行跳转到函数的末尾,好吧......但之后 for 上的另一次迭代code> 循环开始。

我也尝试过使用break。

我的代码如下。

已编辑

我已经检查了调试器上的逻辑,在 found = true 上添加了一个断点,它工作正常,所以剩下的唯一的事情就是它应该在之后正确退出......

//  Tree traversal until answer found via answer.id

function locateAnswer(wholeTree, answerID) {
var found = false;
if (wholeTree.answers) { // checks if next_queston is populated first

for (var i = 0; i < wholeTree.answers.length; ++i) {
if (wholeTree.answers[i].id == answerID) {

console.log("found!");
found = true;
return found; // TRIED break; TOO

} else {
for (var j = 0; j < $scope.breadcrumbs.length; ++j) {
if ($scope.breadcrumbs[j].question == wholeTree.question) {
// if already exist, we pop elements until it does not exist anymore
while ($scope.breadcrumbs[j]) {
$scope.breadcrumbs.pop();
}
}
}

// we push the new breadcrumb
$scope.breadcrumbs.push({ "question": wholeTree.question, "answer": wholeTree.answers[i].answer });

locateAnswer(wholeTree.answers[i].next_question, answerID);
}
}
}
// ALSO TRIED return HERE AFTER break
};

最佳答案

您应该使用break在函数末尾的循环和 return 语句内。请更新代码

function locateAnswer(wholeTree, answerID) {
var found = false;
if (wholeTree.answers) { // checks if next_queston is populated first

for (var i = 0; i < wholeTree.answers.length; ++i) {
if (wholeTree.answers[i].id == answerID) {

console.log("found!");
var found = true;

break; // TRIED break; TOO

} else {
for (var j = 0; j < $scope.breadcrumbs.length; ++j) {
if ($scope.breadcrumbs[j].question == wholeTree.question) {
// if already exist, we pop elements until it does not exist anymore
while ($scope.breadcrumbs[j]) {
$scope.breadcrumbs.pop();
}
}
}

// we push the new breadcrumb
$scope.breadcrumbs.push({ "question": wholeTree.question, "answer": wholeTree.answers[i].answer });

locateAnswer(wholeTree.answers[i].next_question, answerID);
}
}
}
// ALSO TRIED return HERE AFTER break
return found;
};

关于javascript - 如何退出 Javascript 函数内的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53518974/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com