2018-10-08 13:34:43 -04:00
---
id: 5688e62ea601b2482ff8422b
title: Profile Lookup
localeTitle: Búsqueda de perfiles
challengeType: 1
---
## Description
2018-10-09 20:28:15 +01:00
< section id = 'description' >
Tenemos una variedad de objetos que representan a diferentes personas en nuestras listas de contactos.
Se ha < code > lookUpProfile< / code > función < code > lookUpProfile< / code > que toma el < code > name< / code > y una propiedad ( < code > prop< / code > ) como argumentos.
La función debe comprobar si < code > name< / code > es de un contacto real < code > firstName< / code > y la propiedad dada ( < code > prop< / code > ) es una propiedad de ese contacto.
Si ambos son verdaderos, devuelva el " valor" de esa propiedad.
Si el < code > name< / code > no corresponde a ningún contacto, devuelva < code > " No such contact" < / code >
Si la < code > prop< / code > no corresponde a ninguna propiedad válida de un contacto encontrado para coincidir con el < code > name< / code > entonces devuelva < code > " No such property" < / code > existe < code > " No such property" < / code >
2018-10-08 13:34:43 -04:00
< / section >
## Instructions
2018-10-09 20:28:15 +01:00
< section id = 'instructions' >
2018-10-08 13:34:43 -04:00
< / section >
## Tests
< section id = 'tests' >
```yml
tests:
2018-10-09 20:28:15 +01:00
- text: ' < code > " Kristian" , " lastName" </ code > debería devolver < code > " Vos" </ code > '
2018-10-08 13:34:43 -04:00
testString: 'assert(lookUpProfile("Kristian","lastName") === "Vos", "< code > "Kristian", "lastName"< / code > should return < code > "Vos"< / code > ");'
2018-10-09 20:28:15 +01:00
- text: ' < code > " Sherlock" , " likes" </ code > debería devolver < code > [" Intriguing Cases" , " Violin" ]</ code > '
2018-10-08 13:34:43 -04:00
testString: 'assert.deepEqual(lookUpProfile("Sherlock", "likes"), ["Intriguing Cases", "Violin"], "< code > "Sherlock", "likes"< / code > should return < code > ["Intriguing Cases", "Violin"]< / code > ");'
2018-10-09 20:28:15 +01:00
- text: ' < code > " Harry" ," likes" </ code > debería devolver una matriz'
2018-10-08 13:34:43 -04:00
testString: 'assert(typeof lookUpProfile("Harry", "likes") === "object", "< code > "Harry","likes"< / code > should return an array");'
2018-10-09 20:28:15 +01:00
- text: ' < code > " Bob" , " number" </ code > debe devolver " No existe tal contacto" '
2018-10-08 13:34:43 -04:00
testString: 'assert(lookUpProfile("Bob", "number") === "No such contact", "< code > "Bob", "number"< / code > should return "No such contact"");'
2018-10-09 20:28:15 +01:00
- text: ' < code > " Bob" , " potato" </ code > debe devolver " No hay tal contacto" '
2018-10-08 13:34:43 -04:00
testString: 'assert(lookUpProfile("Bob", "potato") === "No such contact", "< code > "Bob", "potato"< / code > should return "No such contact"");'
2018-10-09 20:28:15 +01:00
- text: ' < code > " Akira" , " address" </ code > debe devolver " No existe tal propiedad"
2018-10-08 13:34:43 -04:00
testString: 'assert(lookUpProfile("Akira", "address") === "No such property", "< code > "Akira", "address"< / code > should return "No such property"");'
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
//Setup
var 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
// Only change code above this line
}
// Change these values to test your function
lookUpProfile("Akira", "likes");
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
var 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"]
},
];
//Write your function in between these comments
function lookUpProfile(name, prop){
for(var i in contacts){
if(contacts[i].firstName === name) {
return contacts[i][prop] || "No such property";
}
}
return "No such contact";
}
//Write your function in between these comments
lookUpProfile("Akira", "likes");
```
< / section >