6.1 KiB
title, localeTitle
| title | localeTitle |
|---|---|
| Profile Lookup | Búsqueda de perfiles |
Recuerda usar Read-Search-Ask si te atascas. Tratar de emparejar el programa
y escribe tu propio código 
Explicación del problema:
Tenemos una variedad de objetos que representan a diferentes personas en nuestras listas de contactos.
Un lookUpProfile() función que toma primerNombre y una propiedad (prop) como argumentos ha sido pre-escrito para ti.
La función debe comprobar si es primerNombre primerNombre de un contacto real y la propiedad dada (prop) es una propiedad de ese contacto.
Si ambos son verdaderos, entonces devuelva el valor de esa propiedad.
Si primerNombre no se corresponde con contactos a continuación, volver No such contact .
Si la propiedad no corresponde a ninguna propiedad válida, devuelva No such property
- Cambie el código a continuación
// Only change code below this liney hasta// Only change code above this line. - Asegúrese de que está editando el interior de la función
lookUpProfile().- Esta función incluye dos parámetros, firstName y prop.
- La función debe mirar a través de la lista de contactos para el parámetro primerNombre dado.
- Si se encuentra una coincidencia, la función debe buscar el parámetro prop dado.
- Si se encuentran tanto el FirstName como el prop asociado, debe devolver el valor del prop .
- Si primerNombre se encuentra y no se encuentra un puntal asociado, debe devolver
No such property.
- Si primerNombre no se encuentra en cualquier lugar, debe devolver
No such contact.
Enlaces relevantes
- Desafío: acceder a las propiedades de los objetos con notación de corchete
- Desafío: Iterar con JavaScript para bucles
Sugerencia: 1
Use un bucle for para recorrer la lista de contactos .
intenta resolver el problema ahora
Sugerencia: 2
Use un anidado if la declaración comprobar primero si el nombre coincide, y luego comprueba if los partidos prop.
intenta resolver el problema ahora
Sugerencia: 3
Deje su return "No such contact" fuera del bucle for como un final definitivo.
intenta resolver el problema ahora
¡Alerta de spoiler!
¡Solución por delante!
Solución de código básico:
for (var 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";
Explicación del código:
- El bucle
forejecuta, comenzando por el primer objeto en la lista de contactos . - Si el parámetro firstName pasado a la función coincide con el valor de la clave
"firstName"en el primer objeto, la instrucciónifpasa. - Luego, usamos el método
.hasOwnProperty()(verifica si hay una propiedad dada y devuelve un valor booleano) con prop como argumento. Si es cierto, se devuelve el valor de prop .- Si la segunda instrucción
iffalla,No such propertyse devuelveNo such property.
- Si la segunda instrucción
- Si la primera instrucción
iffalla, el bucleforcontinúa hasta el siguiente objeto en la lista de contactos . - Si el parámetro firstName no se corresponde con los contactos finales objeto, el
forlas salidas de bucle yNo such contactse devuelve.
Ejecución de ejemplo
lookUpProfile("Akira","likes");carreras."Akira"coincide con la clave"firstName"en el primer objeto, por lo que la instrucciónifdevuelve verdadero."likes"se encuentra dentro del primer objeto, por lo que la segunda declaraciónifdevuelve true.- Se devuelve el valor de
"likes":"Pizza", "Coding", "Brownie Points".
NOTAS PARA LAS CONTRIBUCIONES:
NO agregue soluciones que sean similares a las soluciones existentes. Si cree que es similar pero mejor , intente fusionar (o reemplazar) la solución similar existente.- Agregue una explicación de su solución.
- Categorice la solución en una de las siguientes categorías: Básica , Intermedia y Avanzada .

- Agregue su nombre de usuario solo si ha agregado algún contenido principal relevante . (
NO elimine ningún nombre de usuario existente )

