Profil recherche sur freecode camp de point de contrôle

Donc, je vais à travers freecodecamp et je suis résoudre les problèmes, à garder dans la boucle avec la programmation et j'ai tombé sur un os, et je ne suis pas tout à fait sûr de ce qui est mauvais.

J'ai donc un tableau d'objets appelés contacts, et j'ai besoin de créer une fonction appelée lookUp(firstName, prop). Le texte de l'assignation est comme ceci:

La fonction est de vérifier si firstName est un réel contact firstName et de la propriété donnée (prop) est une propriété de ce contact.

Si les deux sont vrais, alors le retour de la "valeur" de cette propriété.

Si firstName ne correspondent pas à des contacts puis de retour "contact"

Si prop ne correspond à aucune des propriétés valides puis retour "propriété"

Le code:

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": ["Intruiging Cases", "Violin"]
    },
    {
        "firstName": "Kristian",
        "lastName": "Vos",
        "number": "unknown",
        "likes": ["Javascript", "Gaming", "Foxes"]
    },
];


function lookUp( firstName, prop ){
  for( var i = 0; i < contacts.length; i++ ){
    if( contacts[i].firstName == firstName ) {
      if( contacts[i].hasOwnProperty( prop ) ) {
        return contacts[i].prop;
      } else {
        return "No such property";
      }
    } else {
      return "No such contact";
    } 
  }
}

//Change these values to test your function
lookUp("Kristian", "lastName");

Je suis donc en parcourant le tableau avec for boucle de vérification de chaque objet. Dans la première if - je vérifier si le firstName de la propriété des objets est égal au paramètre de la fonction de prénom, alors si c'est vrai, je vérifie si l'objet a la propriété prop, et je devrais être en mesure de le retourner. Mais il semble que

return contacts[i].prop;

n'est pas de travail, et je suis un peu perdu quant à pourquoi. Je suis sûr que c'est quelque chose de trivial, mais je ne vois pas pourquoi. Quand je vais à la console, et de tester

contacts[0].likes

Je sors le tableau ["Pizza", "Coding", "Brownie Points"], mais dans mon cas qui ne fonctionne pas. Ce que je fais mal?

MODIFIER

Ok, donc j'ai essayé avec

function lookUp( firstName, prop ){
  for( var i = 0; i < contacts.length; i++ ){
    if( contacts[i].firstName == firstName ) {
      if( contacts[i].hasOwnProperty( prop ) ) {
        return contacts[i][prop];
      } else {
        return "No such property";
      }
    } else {
      return "No such contact";
    } 
  }
}

Mais j'obtiens toujours la même erreur :\

Non, c'est totalement sans rapport avec le "duplicata" en question, je suis rentré trop tôt 🙂
Et la question a été posée il y a 2 ans...
Ouais, en fait, >, 2.5 ans, ce qui fait de cette conversation pas que utile. J'ai surtout vu que la question a été voté à être fermé comme une faute de frappe. Je préfère les choses ont fermé comme des doublons, lorsque possible, des panneaux indicateurs. Dans ce cas, j'étais trop pressé de faire que cela se produise. Désolé à ce sujet.
Ouais, pas de problème, vous ne savez pas pourquoi tant de fermer voix tout d'un coup 😀 je vais bien le post fermé ou ouvert, tant que cela aide 🙂

OriginalL'auteur dingo_d | 2016-01-14