Javascript 将元素从JSON推送到嵌套数组[i][push here]

Javascript 将元素从JSON推送到嵌套数组[i][push here],javascript,arrays,json,multidimensional-array,Javascript,Arrays,Json,Multidimensional Array,我有两个文件:index.js和list.json 我想从list.json中获取一个元素,并使用以下结构将其添加到嵌套数组中:[hour][visions per hour] hour指向小时的索引,因此对于ex:hour12实际上是索引12。问题是我一直在控制台中获取未定义的标记。我会把它贴在底部,告诉你我的意思 以下是json文件的摘录,共有28行: [ { "time":"01:34:19", "visits": 37 }, { "time":"02:03:21", "visit

我有两个文件:index.js和list.json

我想从list.json中获取一个元素,并使用以下结构将其添加到嵌套数组中:[hour][visions per hour]

hour指向小时的索引,因此对于ex:hour12实际上是索引12。问题是我一直在控制台中获取未定义的标记。我会把它贴在底部,告诉你我的意思

以下是json文件的摘录,共有28行:

[
  { "time":"01:34:19", "visits": 37 },
  { "time":"02:03:21", "visits": 42 },
  { "time":"02:22:35", "visits": 51 },
  { "time":"02:43:54", "visits": 31 },
  { "time":"03:31:43", "visits": 24 },
  { "time":"03:38:01", "visits": 27 },
  { "time":"05:29:57", "visits": 36 },
  { "time":"05:54:08", "visits": 47 },
  { "time":"06:11:17", "visits": 49 },
  { "time":"07:22:03", "visits": 51 },
  { "time":"07:27:09", "visits": 55 },
]
以下是Javascript尝试:

let json = require('./list.json');

let visitsPerHr = [];
visitsPerHr.length = 24;

//I had to do this to avoid a type error in the 2nd loop
for (let x = 0; x < 24; x++) {
    visitsPerHr[x] = x;
}

let hour = -1;
let visitCount = -1;

for(let i = 0; i < json.length; i++){

    //get hour & parse
    hour = json[i].time[0] + json[i].time[1];
    hour = parseInt(hour, 10);

    //get visits and parse
    visitCount = json[i].visits;
    visitCount = parseInt(visitCount, 10);

    //push to the hour(index) the number of visits, later i need to reorder 
    //the visits based on highest amount if multiple ones exist within that hour.

    visitsPerHr[hour].push = visitCount;

}

一直到23日,有三件事立即引起了我的注意:(1)任何地方都没有JSON.parse();(2) 数组访问和添加
time
值应该做什么?(3)
visitspehr[hour].push=visitCount似乎没有意义,是不是应该是
visitspehr[hour]=visitCount?你好,多姆森,非常感谢您的及时回复。1:我对JSON/JS不太熟悉,只是尽力了,应该是一行吗?每小时访问多少次?如果您将代码发布在list.json上也会很有帮助,因为模块的导出方式也很重要。。。我正为此苦苦挣扎。我在最初的帖子中更新了上面的json,以反映整个json文件的外观。将访问量添加到每小时总次数中对我来说不是一个选项,请记住,将访问量添加到每小时总次数中不是一个选项,因为我仍然必须按分钟进行细分,正如您看到的,每小时可以有多个访问数(不管它们是否唯一)。我没有添加分钟代码,因为我还没有编写它,但这没关系,因为一旦我了解了如何将元素添加到嵌套数组中,我就应该将这些知识应用到其他方面:)谢谢,Itay,非常感谢:)我感谢你尝试一下。我决定简化我的意图:这就是我要寻找的我有:parentArray和dataArray,我想将每个字母推送到parentArray中的嵌套数组中。在每个数字的末尾,嵌套数组中应有一个字母。parentArray=[1,2,3]dataArray=[a,b,c]for(让i=0,iconst json = require('./list.json');
const visitsPerHour = {0:0,1:0,2:0,3:0,4:0 ... 23:0};
for (let element of json) {
    visitsPerHour[(new Date(element.time)).getHours()] += element.visits;
}
const json = require('./list.json');
const visitsPerHour = {0:0,1:0,2:0,3:0,4:0 ... 23:0};
for (let element of json) {
    visitsPerHour[(new Date(element.time)).getHours()] += element.visits;
}