簡體   English   中英

Javascript:遍歷數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM