Javascript 连接并嵌套两个关联数组/geoJSON文件
我有两个geoJSON文件,我想为D3可视化嵌套它们。这个问题同样适用于javascript中的两个关联数组/对象。这是最简洁的方法吗?如何从用于第二个数组的变量名生成键名[“communities”]?这将使用下划线/lodash函数u.where()。因为我使用的是d3,所以有没有一种方法可以在没有lo-dash依赖项的情况下做到这一点(这不是必需的,但是如果有内置的d3函数可以做到这一点,那就更好了)Javascript 连接并嵌套两个关联数组/geoJSON文件,javascript,d3.js,Javascript,D3.js,我有两个geoJSON文件,我想为D3可视化嵌套它们。这个问题同样适用于javascript中的两个关联数组/对象。这是最简洁的方法吗?如何从用于第二个数组的变量名生成键名[“communities”]?这将使用下划线/lodash函数u.where()。因为我使用的是d3,所以有没有一种方法可以在没有lo-dash依赖项的情况下做到这一点(这不是必需的,但是如果有内置的d3函数可以做到这一点,那就更好了) 最好在这里显示您试图使用的代码,并说明您的问题所在。检查一下指南,你能做你需要的吗?感谢
最好在这里显示您试图使用的代码,并说明您的问题所在。检查一下指南,你能做你需要的吗?感谢b,我已经尝试用代码来改进这个问题。tomtomtom,topoJSON与我需要的类似,特别是连接代码,它与我想要的类似,但并不完全相同(将csv/tsv连接到geojson,但不是将geojson连接到geojson)。
var nationalities = [{
"type": "Feature",
"properties": {
"nationality": "Cofan"
},
"geometry": null
}, {
"type": "Feature",
"properties": {
"nationality": "Secoya"
},
"geometry": null
}
];
var communities = [{
"type": "Feature",
"properties": {
"community": "Dureno",
"nationality": "Cofan"
},
"geometry": null
}, {
"type": "Feature",
"properties": {
"community": "Zabalo",
"nationality": "Cofan"
},
"geometry": null
}, {
"type": "Feature",
"properties": {
"community": "Duvono",
"nationality": "Cofan"
},
"geometry": null
}
];
var nested = nest(nationalities, communities, "nationality");
console.log(nested);
function nest(array1, array2, id) {
var filterFunc = function(feature) {
return function(d) {
return feature.properties[id] === d.properties[id];
};
};
array1.forEach(function(feature) {
feature.properties["communities"] = _.filter(array2, filterFunc(feature));
})
return array1;
}