[英]How to merge and replace objects from two arrays based on a key in javascript?
[英]Merge two arrays of objects based on key in javascript
我正在将geoJSON shapefile与人口普查数据合并以进行Web映射。
每个数组中的每个元素都有一个GeoID,我想以此为基础进行连接。
我已经成功地做到了这一点,但是我想看看是否有人知道更好的方法,如果有什么事情我做得很错。
我这样做的方法是根据GeoID属性的值对每个数组加下划线。 我确认每个人都进行了测试
//- Create array of features sorted by GeoID
var sortedShapes = _.sortBy(sfTracts.features, function(o) { return o.properties.GEOID10});
//- Create array of features (w/o shapes) by GeoID
var sortedData = _.sortBy(kidsInPov, function(o) { return o.GeoID} );
然后,我使用下划线.map()组合它们。
var count = 0;
var joinedData = _.map(sortedShapes,
function(o) {
// add data desired from dataset
o.properties.HD01_VD01 = sortedData[count].HD01_VD01;
o.properties.HD01_VD02 = sortedData[count].HD01_VD02;
o.properties.HD01_VD10 = sortedData[count].HD01_VD10;
count++;
return o
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.