请帮帮我
我有一个这样的 json 文件。
[
{
"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"]
请帮帮我
最佳答案
不需要在外部数组上调用map()
,因为您只对数组Koordinaten
感兴趣。只有这个数组需要通过将包含的对象替换为每个单独对象的属性 paketaufenthaltsort
的值来映射到所需的输出。您只需要通过调用 Array.prototype.forEach()
来迭代外部数组。在这些阵列中的每一个上:
data.forEach(function(d) {
d.Paket.forEach(function(p) {
var orte = p.Koordinaten.map(function(k) {
return k.paketaufenthaltsort;
});
console.log(orte);
});
});
检查这个JSFiddle一个工作示例。
关于javascript - D3.js 汇总嵌套数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31657054/