[英]Javascript: loop through array
这真让我抓狂。 我只是想打印出一个数组,它不起作用。 我想念什么? 结果变量返回“未定义”,这在很大程度上意味着我的for循环无法正常工作。 其他所有内容均正常运行,我已经正确显示的console.log字段已添加到数组中。
// The list of accounts array. var accountsArray = []; function addAccount() { // Take fields and put user data into varables. var accountName = document.getElementById('accountName').value; var accountBalance = document.getElementById('accountBalance').value; var accountType = document.getElementById("accountType"); var accountTypeSelected = accountType.options[accountType.selectedIndex].text; var accountCurrency = document.getElementById("accountCurrency"); var accountCurrencySelected = accountCurrency.options[accountCurrency.selectedIndex].text; // Put these variables into the array. accountsArray.push(accountName); accountsArray.push(accountBalance); accountsArray.push(accountTypeSelected); accountsArray.push(accountCurrencySelected); // Items added to the array, logged. console.log('user added: ' + accountsArray); } function accountsListHtml() { var results; // Loop through the array for (var i = 0; i < accountsArray.length; i++) { results = accountsArray[i]; } document.getElementById('accountsList').innerHTML = results; }
这是所有文件的链接。 这是一个使用Framework7的iOS Web应用程序。 天平Pro
您正在body.onload
中调用body.onload
accountsListHtml()
。 此时, accountsArray
为空。 我找不到在您链接到的页面上调用accountsListHtml()
任何其他可能性。
在函数addAccount()
添加一行,它将起作用:
function addAccount() {
/* vour code */
console.log('user added: ' + accountsArray);
accountsListHtml(); // add this line
}
尝试更改results = accountsArray[i];
results += accountsArray[i];
。
用空字符串更新和初始化results
,例如:)
for (var i = 0; i < accountsArray.length; i++) { results = accountsArray[i]; }
for循环中的语句,即results = accountsArray[i];
覆盖每次循环运行时的变量results
。 您可以将语句更改为:
results += accountsArray[i].toString();
并将results
初始化为空字符串。
以下对我有用 : http : //jsfiddle.net/95ztrmk3/13/
HTML:
<div id="accountsList"></div>
JS:
// The list of accounts array.
var accountsArray = [];
addAccount();
accountsListHtml();
function addAccount() {
// Take fields and put user data into varables.
var accountName = "John Doe";
var accountBalance = "500.00";
var accountTypeSelected = "Checking"
var accountCurrencySelected = "USD";
// Put these variables into the array.
accountsArray.push(accountName);
accountsArray.push(accountBalance);
accountsArray.push(accountTypeSelected);
accountsArray.push(accountCurrencySelected);
// Items added to the array, logged.
console.log('user added: ' + accountsArray);
}
function accountsListHtml() {
var results = [];
// Loop through the array
for (var i = 0; i < accountsArray.length; i++) {
results += accountsArray[i] + " ";
}
document.getElementById('accountsList').innerHTML = results;
console.log(results);
}
假设输入没有格式错误或其他异常。 我确保Javascript可以识别results
为空数组,而不是字符串或其他东西: var results = []
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.