【发布时间】:2020-04-01 14:43:20
【问题描述】:
通过代码学院学习 javascript 并遇到问题“基本 JavaScript:配置文件查找”。我在互联网上找到了一个更简单的解决方案,但我想知道为什么下面的代码不起作用所以我可以从错误中吸取教训。谢谢。
问题: 我们有一组对象,代表我们的联系人列表中的不同人。已经为您预先编写了一个将名称和属性 (prop) 作为参数的lookUpProfile 函数。该函数应该检查 name 是否是实际联系人的 firstName,并且给定的属性 (prop) 是该联系人的属性。如果两者都为真,则返回该属性的“值”。如果姓名与任何联系人不对应,则返回“No such contact”。如果 prop 不对应于找到匹配名称的联系人的任何有效属性,则返回“No such property”。
var contacts = [
{
"firstName": "Akira",
"lastName": "Laine",
"number": "0543236543",
"likes": ["Pizza", "Coding", "Brownie Points"]
},
{
"firstName": "Harry",
"lastName": "Potter",
"number": "0994372684",
"likes": ["Hogwarts", "Magic", "Hagrid"]
},
{
"firstName": "Sherlock",
"lastName": "Holmes",
"number": "0487345643",
"likes": ["Intriguing Cases", "Violin"]
},
{
"firstName": "Kristian",
"lastName": "Vos",
"number": "unknown",
"likes": ["JavaScript", "Gaming", "Foxes"]
}
];
function lookUpProfile(name, prop){
for (var i = 0; i < contacts.length; i++) {
if (contacts[i].firstName == name) {
for (var j = 0; j < contacts[i].length; j++) {
if (contacts[i][j] === prop) {
return contacts[i][j];
} else {
return "No such property";
}
}
} else {
return "No such contact";
}
}
lookUpProfile("Akira", "likes");
【问题讨论】:
-
return终止函数 -
抱歉,您能进一步解释一下吗?为什么函数不应该在我拥有的位置终止?不是返回函数正在寻找的答案吗?所以在那之后函数就不需要继续了
-
(尝试使用调试器;)) - 否则分支测试名称总是
return,应该检查它是否是最后一个索引
标签: javascript for-loop