我想了解一些JS概念的基本面中,具體爲什麼我的功能上定義的值不清楚從JavaScript forEach循環返回功能
帳戶名返回只是一個簡單的字符串,如「臉譜」 賬戶的返回值只是一個數組
原函數
function getAccount(accountName) {
var accounts = Storage.getItemSync('accounts');
var matchedAccount
for(account in accounts){
if (account.name === accountName){
matchedAccount = accountName;
}
}
return matchedAccount;
}
工作版本
function getAccount(accountName) {
var accounts = Storage.getItemSync('accounts');
var matchedAccount
accounts.forEach(function(account) {
if(account.name === accountName){
matchedAccount = account
}
});
return matchedAccount;
}
原始函數返回Undefined,而工作版本返回正確的結果。這是爲什麼發生?我不是在迭代我的數組嗎?
提示:閱讀'for..in' –
也針對[過濾器](HTTPS讀了文件://developer.mozilla。 org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) – Wainage