我想了解一些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