我尝试通过配置文件查找来完成任务。它应该搜索道具并返回他的价值,如果它不能,那么从条件 的“没有这样的接触”或“没有这样的属性”依赖我不明白为什么最后一个条件(else语句)不执行。这是代码。我被困在循环任务中
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(firstName, prop) {
var i = 0;
while (contacts[i]) {
if (contacts[i].firstName === firstName && contacts[i].hasOwnProperty(prop)) {
return contacts[i][prop];
}
i++;
}
if (!contacts.firstName) {
return "No such contact";
}
else {
return "No such property";
}
}
lookUpProfile("Akira", "address");`
它返回“没有这样的联系”,虽然应该返回“没有这样的属性”。
'接触' 是一个数组,也没有 '的firstName'! – MHS