Ich habe den folgenden Code für ein Praxis-Problem. Kann jemand erklären, warum die korrekte Ausgabe nicht im ursprünglichen Versuch gegeben wird, wo ich 'else' gegen die zweite verwende, wo ich nicht?Javascript Wenn/sonst geben falsche Antwort Antwort
Ursprüngliche Antwort:
function openSesame(array, str) {
for (var i in array) {
if (array[i] === str) {
return 'You may pass.';
} else {
return 'You shall not pass!';
}
}
}
Richtige Antwort:
function openSesame(array, str) {
for (var i in array) {
if (array[i] === str) {
return 'You may pass.';
}
}
return 'You shall not pass!';
}
Zum Vergleich:
var passwords = [
'Password123',
'DavidYangsMiddleName',
'qwerty',
'S3cur3P455WORD',
'OpenSesame',
'ChildhoodPetsName',
'Gandalf4evaa'
];
INPUT: openSesame(passwords, 'Password123');
OUTPUT: 'You may pass.'
INPUT: openSesame(passwords, 'Balrog');
OUTPUT: 'You shall not pass!'
Im ursprünglichen 'Sie unabhängig von der return' Wert Ihres 'if/then'. Dies bewirkt, dass die for-Schleife nur einmal ausgeführt wird. –