Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

153
Views
Buscar perfil usando bucle for y condición if

Una función lookUpProfile que toma un nombre y una propiedad (prop) como argumentos ha sido escrita previamente para mí.

Si ambos son verdaderos, devuelva el "valor" de esa propiedad.

Si el nombre no corresponde a ningún contacto, devuelva la cadena No hay tal contacto.

Si prop no corresponde a ninguna propiedad válida del contacto que coincida con el nombre, devuelva la cadena No such property.

por qué no funciona si uso && en lugar de la instrucción if anidada

 // 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 && contacts[i].hasOwnProperty(prop)) { return contacts[i][prop]; } else return "No such contact"; } return "No such contact"; // Only change code above this line } lookUpProfile("Akira", "likes"); function lookUpProfile(name, prop) { for (let x = 0; x < contacts.length; x++) { if (contacts[x].firstName === name) { if (contacts[x].hasOwnProperty(prop)) { return contacts[x][prop]; } else { return "No such property"; } } } return "No such contact"; }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

function lookUpProfile(name, prop) { // Only change code below this line for (let i = 0; i <= contacts.length; i++) { if (contacts[i].firstName === name && contacts[i].hasOwnProperty(prop)) { return contacts[i][prop]; } else return "No such contact"; } return "No such contact"; // Only change code above this line }

Esta función siempre devolverá "No existe tal contacto" si contactos[0] no es el valor que desea obtener.

El siguiente código funcionará.

 function lookUpProfile(name, prop) { // Only change code below this line for (let i = 0; i <= contacts.length; i++) { if (contacts[i].firstName === name && contacts[i].hasOwnProperty(prop)) { return contacts[i][prop]; } } return "No such contact"; // Only change code above this line }
about 4 years ago · Juan Pablo Isaza Report

0

el problema son estas lineas

 if (contacts[i].firstName === name && contacts[i].hasOwnProperty(prop)) { return contacts[i][prop]; } else return "No such contact";

básicamente está diciendo que si las condiciones dadas no coinciden, devuelva la función con 'No such contact' . Esto significa que el ciclo deja de iterar después de la primera iteración. Ahora, dado que se devuelve la función, el bucle finaliza, lo que significa que solo está comprobando el primer índice, es decir [0] .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!