gpt4 book ai didi

javascript - 嵌套在 for 循环外的 return 语句出现问题

转载 作者:行者123 更新时间:2023-11-29 20:30:50 24 4
gpt4 key购买 nike

我是 javascript 的新手,正在研究 freecodecamp 的资源(除其他外)。遍历电话联系人是一项具有挑战性的任务,我相信有些人会熟悉它。我很好地完成了任务,但对于为什么最终的 return 语句需要存在于 for 循环之外而不是外部 if 的 else 语句感到困惑。

function lookUpProfile(name, prop){
for (var i = 0; i < contacts.length; i++) {
if (name === contacts[i].firstName) {
if (prop === "lastName" || prop === "number" || prop === "likes") {
return contacts[i][prop];
}else{
return "No such property"
};
}
}
return "No such contact";
};

如果我将最后的 return 语句(作为 else)嵌套在 for 循环中,代码似乎会直接执行此操作,即使初始 if 语句的条件为真。

谁能解释一下为什么?如果您需要任何进一步的信息,请告诉我。我曾尝试在谷歌上搜索为什么会出现这种情况,但我还没有找到任何东西。

谢谢!

最佳答案

您不想仅仅因为比较第一个元素返回 false 就返回“No such contact”。这是行不通的。只有在比较并检查数组中的所有元素后,您才会知道联系人不存在。如果第一个联系人不匹配,循环将返回并且不会进行进一步的比较。

关于javascript - 嵌套在 for 循环外的 return 语句出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58388787/

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