Profile Lookup - Understanding the Function

Tell us what’s happening:
Hello, I am having trouble understanding what the i variable in the function lookUpProfile is doing. What I mean by this is how is a number able to relate to the name parameter and get the desired key. I need help in understanding the code *if(contacts[i].firstName === name) *. Or is this related to the properties of a dictionary with key: value pairs.

Pointers on things to learn or help with what to do to understand this would be much appreciated.

Apologies if this is confusing, and thank you in advance for any help.

Your code so far

// Setup
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
  for (var i = 0; i < contacts.length; i++) {
    if(contacts[i].firstName === name) {
      return contacts[i][prop] || "No such property";
    }
  }
  return "No such contact";
}

// Change these values to test your function
var data = lookUpProfile("Harry", "likes");
console.log(data);

// Only change code above this line


Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Profile Lookup

Link to the challenge:

i is a number as you said. And it starts from 0 to the length of the array (-1).

contacts is an array. And just like any array, we access the contents of the array by using bracket notation.

contacts[0] will give us for example the first object (the one with firstname Akira)
while contacts[1] will give us the 2nd object (the one with first name Harry)

So in order to find a specific name, step 1 is : loop through the array of contacts

hope this helps

1 Like