Ich bin bei dieser Herausforderung in freecodecamp stecken Profile Lookup und hier ist mein Code, ich verstehe nicht, warum meine Schleife nicht läuft, überprüft es nur das erste Element Kontakte [0], warum Ich werde nicht inkrementiert?Warum meine Schleife nicht läuft
function lookUpProfile(firstName, prop){
for(var i=0;i<contacts.length;i++){
if(contacts[i].firstName===firstName && contacts[i].hasOwnProperty(prop)){
return contacts[i][prop];
}
else if(contacts[i].firstName !== firstName){
return "No such contact";
}
else if (contacts[i].prop!==prop){
return "No such property";
}
}
}
Sie kommen von der Funktion zurück. Sobald Sie eine 'return' Anweisung treffen, ist die Funktion erledigt. Was hast du erwartet? –
Sie geben zurück, wenn 1) der erste Name übereinstimmt und das Objekt eine bestimmte Eigenschaft hat 2) wenn der Vorname * nicht * übereinstimmt und 3) wenn die Prop-Eigenschaft des Objekts nicht mit dem Prop-Wert übereinstimmt. Klingt, als würde es fast sicher auf das erste Objekt zurückkommen. –
Es sieht auch so aus, als würde Ihre "if" -Logik nicht funktionieren. Es wird immer mit der ersten wahren "Wenn" -Aussage zurückkehren. – jordaniac89