--- id: 5688e62ea601b2482ff8422b title: Profile Lookup localeTitle: Búsqueda de perfiles challengeType: 1 --- ## Description
Tenemos una variedad de objetos que representan a diferentes personas en nuestras listas de contactos. Se ha lookUpProfile función lookUpProfile que toma el name y una propiedad ( prop ) como argumentos. La función debe comprobar si name es de un contacto real firstName y la propiedad dada ( prop ) es una propiedad de ese contacto. Si ambos son verdaderos, devuelva el "valor" de esa propiedad. Si el name no corresponde a ningún contacto, devuelva "No such contact" Si la prop no corresponde a ninguna propiedad válida de un contacto encontrado para coincidir con el name entonces devuelva "No such property" existe "No such property"
## Instructions
## Tests
```yml tests: - text: ' "Kristian", "lastName" debería devolver "Vos" ' testString: 'assert(lookUpProfile("Kristian","lastName") === "Vos", ""Kristian", "lastName" should return "Vos"");' - text: ' "Sherlock", "likes" debería devolver ["Intriguing Cases", "Violin"] ' testString: 'assert.deepEqual(lookUpProfile("Sherlock", "likes"), ["Intriguing Cases", "Violin"], ""Sherlock", "likes" should return ["Intriguing Cases", "Violin"]");' - text: ' "Harry","likes" debería devolver una matriz' testString: 'assert(typeof lookUpProfile("Harry", "likes") === "object", ""Harry","likes" should return an array");' - text: ' "Bob", "number" debe devolver "No existe tal contacto"' testString: 'assert(lookUpProfile("Bob", "number") === "No such contact", ""Bob", "number" should return "No such contact"");' - text: ' "Bob", "potato" debe devolver "No hay tal contacto"' testString: 'assert(lookUpProfile("Bob", "potato") === "No such contact", ""Bob", "potato" should return "No such contact"");' - text: ' "Akira", "address" debe devolver "No existe tal propiedad" testString: 'assert(lookUpProfile("Akira", "address") === "No such property", ""Akira", "address" should return "No such property"");' ```
## Challenge 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"); ```
## 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"); ```