【发布时间】:2015-06-05 07:38:39
【问题描述】:
这里有一个严重的问题,我有一个这样的数组:
[[0,50],[0,68],[1,26],[2,9],[2,32]]
我需要的形式是将这个数组分成两个分开的数组,如下所示:
array1 = [[0,50][1,0][2,9]]
array2 = [[0,68][1,26][2,32]]
是的,你们是对的人,我需要它来构建流动图。
如果有人对数据源感兴趣,这就是它在 firebase 中的样子:
{
"1433203200000" : {
"-JpgJnANTpQFprRieImv" : {
"events" : 5,
"name" : "Home office",
"returningVisitors" : 9,
"totalVisitors" : 50
},
"-JqsQjFTjHpzKqWgE_KJ" : {
"events" : 10,
"name" : "Samin Place",
"returningVisitors" : 32,
"totalVisitors" : 68
}
},
"1433289600000" : {
"-JqsQjFTjHpzKqWgE_KJ" : {
"name" : "Samin Place",
"newVisitors" : 1,
"returningVisitors" : 25,
"totalVisitors" : 26
}
},
"1433376000000" : {
"-JpgJnANTpQFprRieImv" : {
"events" : 5,
"name" : "Home office",
"returningVisitors" : 9,
"totalVisitors" : 9
},
"-JqsQjFTjHpzKqWgE_KJ" : {
"events" : 10,
"name" : "Samin Place",
"returningVisitors" : 32,
"totalVisitors" : 32
}
}
}
重点是循环每个时间戳和每个子节点,我们有 totalVisitors,这是我的图表所需的值。
奖金
如您所见,第一个时间戳有两个孩子很好,但第二个时间戳只有一个孩子 - “-JqsQjFTjHpzKqWgE_KJ”所以我需要将空值添加到新数组中(在我们的示例中它是 array1 第二个位置)。
这就是我所说的挑战 :)
非常感谢任何帮助,感谢关注。
编辑:
如果对某人有帮助的话,这是我需要的图表
X 轴 - 是时间戳
Y 轴 - 总访客值
行 - 每个唯一时间戳子项
【问题讨论】:
-
[1,0]来自哪里? -
这就是挑战 :),您可以看到具有三个时间戳的 firebase 数据源,第一个和最后一个有两个孩子,但中间一个只有一个...所以我需要创建这个 [1,0]作为缺少的价值。不知道是否可能:)
-
你最多有两个孩子吗?更准确地说,最大值是多少?
-
它接缝你只需要: - 遍历数组 - 将第一个元素添加到第一个数组 - 将第二个元素添加到第二个数组 - 如果缺少元素添加“null”替换
-
你有这么多数组(array1,array2),有多少个不同的
-J...-like 键?我的意思是,在您的代码中,您有两个不同的键:"-JpgJnANTpQFprRieImv"和"-JqsQjFTjHpzKqWgE_KJ"这就是为什么您有两个数组 -array1和array2,我在写吗?
标签: javascript arrays charts firebase flot