可能微不足道,但我似乎有一个嵌套数据情况,我找不到任何指导。我有一个表示时间进程(索引)的数组,其中数据仅间歇性可用:
elem[..]
elem[55].path[..]
elem[56]
elem[57]
elem[58].path[..]
elem[59]
elem[60].path[..]
elem[..]
空数据点为空:
elem[count] = null;
..然而,等待进一步使用,路径元素使用以下方式初始化:
elem[count].path = [];
收集了一个大数据集。在以下两个代码块的第一个中,我选择了数组索引
classes[chan_index].elem_num_container = "elem_num_container" + "_" + comp_id + "_" + chan_index;
chan_selector.elem_num_container[chan_index] = chan_selector.vis_container[chan_index]
.selectAll(classes[chan_index].elem_num_container)
.data(function(d, i) {
return d;
})
.enter()
.append("svg:g")
.attr("class", function(d, i) {
return classes[chan_index].elem_num_container;
});
鉴于如此多的空元素,在第二个块(如下)中,嵌套的 d.path 可以理解地引发“groupData is undefined”错误。
classes[chan_index].path_container = "path_container" + "_" + comp_id + "_" + chan_index;
chan_selector.path_container[chan_index] = chan_selector.elem_num_container[chan_index]
.selectAll(classes[chan_index].path_container)
.data(function(d, i) {
return d.path;
})
.enter()
.append("svg:g")
.attr("class", function(d, i) {
return classes[chan_index].path_container;
});
基本上它归结为基于“d”参数选择数据,然后是“d.value”上的嵌套选择。在保留索引的同时,我需要避开错误并选择它们存在的 d.path 元素。
我看到很多嵌套的 JSON 数据示例,但没有适用于这种情况。
被阻止了,感谢任何帮助.. Thx