JavaScript básico - Búsqueda de perfiles

Cuéntanos qué está pasando:
Describe tu problema en detalle aquí.
Quisiera entender algo, entiendo la solución a este problema pero intente escribir el código de otra forma,

/* function lookUpProfile(name, prop) {
// Cambia solo el código debajo de esta línea
for (let i = 0; i < contacts.length; i++){
if(name == contacts[i].firstName && contacts[i].hasOwnProperty(prop)) {
return contacts[i][prop];
} else if (name !== contacts[i].firstName){
return ‘No such contact’
} else if (name == contacts[i].firstName && contacts[i].hasOwnProperty(prop) == false) {
return ‘No such property’
}
}
// Cambia solo el código encima de esta línea
}

console.log(lookUpProfile(“Kristian”, “lastName”)) */

Si yo escribo el código anterior y la primera condición se cumple como llamo la función en el console.log, por que al yo ver el resultado me muestra la segunda condición ‘No such contact’

PD: solo quiero entender por que este código no me da igual resultado que espero o que estoy entendiendo mal…

Tu código hasta el momento

Información de tu navegador:

El agente de usuario es: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36

Desafío: JavaScript básico - Búsqueda de perfiles

Enlaza al desafío:

const contacts = [
{
  firstName: "Akira",
  lastName: "Laine",
  number: "0543236543",
  likes: ["Pizza", "Coding", "Brownie Points"],
},
{
  firstName: "Harry",
  lastName: "Potter",
  number: "0994372684",
  likes: ["Hogwarts", "Magic", "Hagrid"],

Esta es tu lista de contactos.
Akira está en el primer lugar y harry está en el segundo
si quiero buscar a harry, tu código empieza con akira y como akira no es harry tu codigo termina de buscar porque ejecutas el return.
Deberias hacer que tu codigo pase al siguiente elemento de contacts

Ahora entiendo. Gracias :smiley: