簡體   English   中英

Javascript數組未定義以及如何在日歷中顯示

[英]Javascript array undefined and how to display in calendar

我正在寫一個數組,但不能值。 memberData [0]始終未定義。 如何獲得正確的值(1,2)?

獲得正確的值后,這些值需要使用for循環顯示在日歷中。 我不知道如何以for循環的方式顯示圖片。 請幫忙!

我的代碼如下:

         var memberList = {"member":
            {
                "1":"1,2",
                "2":"1,2",
                "3":"1,2",
                "4":"1,2",
                "5":"1,2",
                "6":"1,2",
                "7":"1,2",
                "8":"1,2",
                "9":"1,2",
                "10":"1,2",
                "11":"1,2",
                "12":"1,2",
                "13":"1,2",
                "14":"1,2",
                "15":"1,2",
                "16":"1,2",
                "17":"1,2",
                "18":"1,2",
                "19":"1,2",
                "20":"1,2",
                "21":"1,2",
                "22":"1,2",
                "23":"1,2",
                "24":"1,2",
                "25":"1,2",
                "26":"1,2",
                "27":"1,2",
                "28":"1,2",
                "29":"1,2",
                "30":"1,2"
            }
        };
        var memberData = memberList["member"];
        var res = memberData[0].split(",");
        var am = 'AM' + '-' + res[0];   
        var pm = 'PM' + '-' + res[1];

這是您想要的for循環

  for(i=0;i<Object.keys(memberList.member).length;i++)
    {

        var num = Object.keys(memberList.member)[i];

        var memberData = memberList["member"][num];

        //alert(memberData);
        var res = memberData.split(",");

        alert("AM "+res[0]+" & PM "+res[1]);
    }

memberList member不是數組,而是一個對象。 您需要將member更改為數組。

var memberList = {member: [1, 2, 3, ...]} 

基本上,您正在使用數組索引訪問對象鍵。 要訪問對象值,您需要使用相應的鍵

實現您的用例的演示代碼如下:-

var memberData = memberList["member"];
var keys = Object.keys(memberData);

for ( var key in keys ) {
    var res = memberData[key].split(",");
    var am = 'AM' + '-' + res[0];   
    var pm = 'PM' + '-' + res[1];
}

此代碼將訪問對象memberData中的每個值。

看起來,您有一個帶有鍵的對象,該對象基於一個,而數組則基於零。 對於訪問而無需更改結構,只需在密鑰中添加一個即可進行所需的訪問。

但是我建議使用不同的數據結構(例如數組),或者嘗試從一個開始就表明正確。

 var memberList = { "member": { "1": "1,2", "2": "1,2", "3": "1,2", "4": "1,2", "5": "1,2", "6": "1,2", "7": "1,2", "8": "1,2", "9": "1,2", "10": "1,2", "11": "1,2", "12": "1,2", "13": "1,2", "14": "1,2", "15": "1,2", "16": "1,2", "17": "1,2", "18": "1,2", "19": "1,2", "20": "1,2", "21": "1,2", "22": "1,2", "23": "1,2", "24": "1,2", "25": "1,2", "26": "1,2", "27": "1,2", "28": "1,2", "29": "1,2", "30": "1,2" } }, memberData = memberList["member"], res = memberData[0 + 1].split(","), // ^^^ add one for the index starting with one am = 'AM' + '-' + res[0], pm = 'PM' + '-' + res[1]; console.log(am + ' ' + pm); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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