Please tell me what is wrong with this code...im stuck here

Tell us what’s happening:
Describe your issue in detail here.

  **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(let 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";
  }
} 
// Only change code above this line
}

lookUpProfile("Akira", "likes");
  **Your browser information:**

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

Challenge: Profile Lookup

Link to the challenge:

Sorry, my initial question was not very good because your code example isn’t formatted very well and I was fooled a little.

function lookUpProfile(name, prop) {
  // Only change code below this line
  for (let 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";
    }
  }
  // Only change code above this line
}

Now that we have better formatting, how many times will your for loop execute? Remember, a return statement immediately stops the function and returns a value.

my for loop would run 4 times , evaluating the first name property of all the objects in the contacts array and checking if they are equal to name. But when i run the test it fails and i’ve gone through the code a thousand times but can’t seem to see what is wrong.

Will it? I suggest you add a console.log to the beginning of the for loop to make sure this is the case. Perhaps something like:

console.log('for loop: i = ', i);

If it is executing up to 4 times then you should see the value of i increment from 0 toward 3, at least some of the time, right?

the for loop idid not run completely due to the return statements which ended the loop in the middle.