Javascript D3.js汇总嵌套数据
请帮帮我 我有一个类似这样的json文件Javascript D3.js汇总嵌套数据,javascript,arrays,d3.js,content-query-rollup,Javascript,Arrays,D3.js,Content Query Rollup,请帮帮我 我有一个类似这样的json文件 [ { "Paket": [ { "farbe": "#ff0000", "Koordinaten": [ { "paketaufenthaltsort": "469\/31 A 1; A 3; A 4", "y": "5", "x
[
{
"Paket": [
{
"farbe": "#ff0000",
"Koordinaten": [
{
"paketaufenthaltsort": "469\/31 A 1; A 3; A 4",
"y": "5",
"x": "0"
},
{
"paketaufenthaltsort": "469\/31 A 1; A 3; A 4",
"y": "5",
"x": "150"
},
{
"paketaufenthaltsort": "469\/31 A 1; A 3; A 4",
"y": "0",
"x": "150"
}
],
"Paketnummer": "11000005"
}
],
"offset": "5",
"referenzzeitraum": "1440"
}
]
现在我想要一个数组,包含所有“paketaufenthaltsort”的值
因此,我尝试了以下方法:
console.log(data.map(function(d)
{return d.Paket.map(function(e)
{return e.Koordinaten.map(function(f) {return
f.paketaufenthaltsort;})})}));
但它会生成一个级别为3的数组。
结果是:
[[["469/31 A 1; A 3; A 4", "469/31 A 1; A 3; A 4", "469/31 A 1; A 3; A 4"]]]
但我想要的是:
["469/31 A 1; A 3; A 4"]
请帮助我您可以使用:
console.log(data.map(function(d){
return d.Paket.map(function(e)
{return e.Koordinaten.map(function(f) {return
f.paketaufenthaltsort;})})[0][0][0]}));
它将访问嵌套数组的第一个元素。无需在外部数组上调用
map()
,因为您只对数组koorderin
感兴趣。只有此数组需要通过将包含的对象替换为每个对象的属性值来映射到所需的输出。您只需通过调用以下每个数组来迭代外部数组:
data.forEach(function(d) {
d.Paket.forEach(function(p) {
var orte = p.Koordinaten.map(function(k) {
return k.paketaufenthaltsort;
});
console.log(orte);
});
});
检查此项以获得一个工作示例