У меня есть массив «контактов» с несколькими свойствами.Моя функция использует for, чтобы проверить, соответствует ли свойство firstName каждого контакта параметру name моей функции, если это так, она проверяет, имеет ли такой контакт свойство, соответствующее параметру prop (if внутри предыдущего if).Оба слова «if» имеют соответствующие слова «elses»: «нет такого свойства», «не такой контакт».
Код на самом деле очень прост:
var contacts = [
{
"firstName": "Akira",
"lastName": "Laine",
"number": "0543236543",
"likes": ["Pizza", "Coding", "Brownie Points"]
},
{
"firstName": "Harry",
"lastName": "Potter",
"number": "0994372684",
"likes": ["Hogwarts", "Magic", "Hagrid"]
},
{
"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) {
if (contacts[i].hasOwnProperty(prop)) {
return contacts[i][prop];
}
else {
return "No such property";
}
}
else {
return "No such contact";}
}
}
console.log(lookUpProfile("Harry", "likes"));
Идеально работают следующие строки:
console.log(lookUpProfile("Akira", "likes"));
console.log(lookUpProfile("Akira", "lala"));
Теперь, если я добавлю другие firsNames для остальных элементов:
console.log(lookUpProfile("Harry", "likes"));
console.log(lookUpProfile("Kristian", "likes"));
, он выдаст «Нет такого контакта» ....: /