-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprofile_lookup.js
67 lines (58 loc) · 1.68 KB
/
profile_lookup.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
/*
PROFILE LOOKUP
We have an array of objects representing different people in our
contacts lists.
A lookUp function that takes firstName and a property (prop) as
arguments has been pre-written for you.
The function should check if firstName 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 firstName does not correspond to any contacts then return "No such
contact"
If prop does not correspond to any valid properties then return "No
such property"
*/
//Setup
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){
// Only change code below this line
for (var i = 0; i < contacts.length; i++) { //get the length of the contacts obj
if (contacts[i].firstName === firstName) { //check if the [i] contact's 1st name matches the firstname var
if (contacts[i].hasOwnProperty(prop) === true) { //check if there is a property that matches prop
return contacts[i][prop];
} else {
return "No such property";
}
}
}
return "No such contact";
// Only change code above this line
}
//console.log(contacts[0].firstName);
// Change these values to test your function
console.log(lookUpProfile("Kristian", "likes"));