How can I get the values of Array which Nested in a JSON values and the JSON also nested in a Array?
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"]
}
];
var firstName = "Akira", prop = "likes";
for (var i = 0; i < contacts.length; i++) {
var a;
console.log("contacts[i].firstName = " + contacts[i].firstName);
if(contacts[i].firstName == firstName){
a = true;
} else {
a = false;
}
// get the values of likes?
// console.log("contacts[i].prop[i].value() = " + contacts[i].prop[i].value() );
console.log("contacts[i][prop].value() = " + contacts[i][prop].value() );
}
if I want to get the value of likes & "firstName": "Akira", what should I do? Anybody can help?
solution
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 getValuesByProps(firstName = "Akira", prop = "likes") {
var result;
for (var i = 0; i < contacts.length; i++) {
if(contacts[i].firstName === firstName){
console.log("contacts[i][prop] = " + contacts[i][prop]);
result = contacts[i][prop];
break;
}
}
return result;
}