Ich versuche, die Grundlagen einiger js Konzepte zu verstehen, und zwar auf GrundUnklare etwa innerhalb einer Funktion von Javascript forEach Schleife Rückkehr
account auf definierten Wert meiner Funktion gibt nur eine einfache Zeichenfolge, wie „facebook“ der Rückgabewert von Konten ist nur ein Array
ursprüngliche Funktion
function getAccount(accountName) {
var accounts = Storage.getItemSync('accounts');
var matchedAccount
for(account in accounts){
if (account.name === accountName){
matchedAccount = accountName;
}
}
return matchedAccount;
}
Arbeitsversion
function getAccount(accountName) {
var accounts = Storage.getItemSync('accounts');
var matchedAccount
accounts.forEach(function(account) {
if(account.name === accountName){
matchedAccount = account
}
});
return matchedAccount;
}
Die ursprüngliche Funktion gibt Undefined zurück, während die Arbeitsversion die richtigen Ergebnisse zurückgibt. Warum passiert dies? Arbeite ich trotzdem über mein Array?
Hinweis: Lesen Sie die Dokumentation von 'for..in' –
Auch lesen Sie auf [Filter] (https: //developer.mozilla. org/de-DE/docs/Web/JavaScript/Referenz/Global_Objects/Array/filter) – Wainage