JavaScript Base - Ricerca di un profilo

Tell us what’s happening:

Descrivi qui il tuo problema in dettaglio.
what is the problem in this code guys??

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) {
    // Modifica il codice solo sotto questa riga
    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"
        }
    }
  
    // Modifica il codice solo sopra questa riga
  }
  
  lookUpProfile("Akira", "likes");

Your browser information:

Lo user agent è: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36

Challenge Information:

JavaScript Base - Ricerca di un profilo

Ciao @baronemanu109,

ho fatto solo un controllo veloce, quindi non ho trovato tutta la soluzione, ma solo una parte del problema.

Il return "No such contact" è fatto troppo presto. Dovrebbe essere fatto solo dopo aver finito di controllare tutto l’array, fuori dal ciclo for, mentre al momento è all’interno.
Così com’è ora, il codice fa un ciclo, vede che il nome non corrisponde e interrompe tutto.

Consiglio: quando hai cicli non molto lunghi, fa comodo inserire dei console.log(proprietà_da_controllare) dentro i vari step per capire cosa sta succedendo. Se i cicli sono molto lunghi, ti conviene metterla solo nei punti salienti.