-
Notifications
You must be signed in to change notification settings - Fork 0
/
lookUpProfile.js
69 lines (60 loc) · 1.84 KB
/
lookUpProfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/**
* We have an array of objects representing different people in our contacts lists.
A lookUpProfile function that takes name and a property (prop) as arguments has been pre-written for you.
The function should check if name is an actual contact's firstName and the given property (prop) is a
property of that contact.
If both are true, then return the "value" of that property.
If name does not correspond to any contacts then return the string No such contact.
If prop does not correspond to any valid properties of a contact found to match name then
return the string No such property.
*/
const 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) {
// Only change code below this line
let aux;
let nameExists = false;
contacts.forEach((v) => {
if (v.firstName === name && v.hasOwnProperty(prop)) {
aux = v[prop];
nameExists = true;
} else if (v.firstName === name && !v.hasOwnProperty(prop)) {
nameExists = true;
aux = "No such property";
return aux;
} else if (!nameExists && v.hasOwnProperty(prop)) {
aux = "No such contact";
return aux;
} else if (!nameExists && !v.hasOwnProperty(prop)) {
aux = "No such contact";
}
});
return aux;
// Only change code above this line
}
console.log(lookUpProfile("Akira", "address"));
console.log(!contacts[0].hasOwnProperty("address"));