Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript循环读取JSON数字数组_Javascript_Arrays_Json_Sorting_Date - Fatal编程技术网

使用javascript循环读取JSON数字数组

使用javascript循环读取JSON数字数组,javascript,arrays,json,sorting,date,Javascript,Arrays,Json,Sorting,Date,我正在尝试写一个循环,可以读取嵌套的数字数组 我正在读的JSON文件是这样的。每个数字键表示事件日期。 我有下面的javascript代码,它按照var I=1或j=1读取。 我想通读日期中的整个嵌套数字,并将它们存储在某个地方 $(document).ready(function () { $.getJSON('http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500', function (data) {

我正在尝试写一个循环,可以读取嵌套的数字数组

我正在读的JSON文件是这样的。每个数字键表示事件日期。

我有下面的javascript代码,它按照var I=1或j=1读取。 我想通读日期中的整个嵌套数字,并将它们存储在某个地方

$(document).ready(function () {
  $.getJSON('http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500', function (data) {
    var data = data;
    var i = 2;
    var obj = data[i].calEvent;  
    var bingname = obj.eventName;
    var j = 1;
    var startdate = obj.dates[j].startDateTime;
    var time = new Date(startdate);
    var starttime = time.getFullYear()+'-' + (time.getMonth()+1) + '-'+time.getDate();
    var name = JSON.stringify(bingname);   

    document.getElementById("bingname").innerHTML = name;


    document.getElementById("bingtime").innerHTML = starttime;


    var name = firebase.database().ref("/bing").set({
      EventName : name,
      EventStart : starttime
    });

  });
});
现在,我应该为var j使用一些增量循环。但我不知道怎么做。 我的问题是在obj.dates[j]中检索到的json看起来不像数组。我似乎不能把它看作是一系列要通读的数字。非常感谢你的帮助


如果有人甚至可以对这个距离今天日期最近或最远的数据进行排序,那就是爱因斯坦:)

假设这些日期是有效的JSON(),那么您应该能够获取数据并循环通过它:

for (var i=0;i<data.length;++i) {
  console.log(data[i].startDateTime);
  console.log(data[i].endDateTime);
}

for(var i=0;i您将获得一个对象数组,其中包括一个callEvent对象,该对象具有dates属性,该属性是一个数组,其中包含具有属性startDateTime和endDateTime的对象。
它将如下所示:

[
    {
      callEvent: {
        dates: [
          {startDateTime: '', endDateTime: ''},
          // more objects with start- and endDateTime
        ]
      }
    },
    // more callEvent objects..
]
现在,代码应该在数组中循环以获取所有callEvent对象,并在每个callEvent中循环所有dates对象

$(document).ready(function () {
    $.getJSON('http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500', function (array) {

        // loop through all elements in the array
        for (var i = 0; i < array.length; i++) {
            // loop through all dates inside the array 
            for (var j = 0; j < array[i].calEvent.dates.length; j++) {
                console.log(array[i].callEvent.dates[j].startDateTime)
                console.log(array[i].callEvent.dates[j].endDateTime)
            }
        }

    });
});
$(文档).ready(函数(){
$.getJSON('http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500,函数(数组){
//循环遍历数组中的所有元素
对于(var i=0;i
obj.dates[j]
是一个对象。你可以用
for
循环来迭代数组。这两个都是你应该学习的基本javascript概念。JSON没有指定日期的格式,但是ECMAScript提供了一个供使用的方法。数据[i]
不应该是
数组[i]
数组[i].dates
be
data[i]。callEvent.dates