我有一个网页,它使用jQuery从包含位置名称,纬度和经度的JSON文件中获取数据。然后我将检索到的数据推送到一个数组中。
var weatherSites = [];
function weather() {
$.getJSON('json/LOCS.json', function(data) {
$.each(data.locations, function() {
var locationLatitude = this.latitude;
var locationLongitude = this.longitude;
var locationName = this.location;
// -- If the latitude and longitude are 0,0 then skip to the next iteration --
if (locationtLatitude == +0 || locationLatitude == -0 && locationLongitude == +0 || locationLongitude == -0) {
return true;
}
// Populate array with site name, latitude, and longitude
weatherSites.push({name: locationName, latitude: locationLatitude, longitude: locationLongitude});
});
});
};
代码检索数据并根据需要填充数组。但是,即使locationName
和/或locationLatitude
不同,也有许多locationLongitude
个项目相同。我需要从locationName
s相同的数组元素中删除,无论纬度或经度如何。
我尝试过使用这里看到的一些方法,但没有运气。例如:
function removeDupes() {
var uniques = _.map(_.groupBy(weatherSites,function(doc){
return doc.id;
}),function(grouped){
return grouped[0];
});
此示例需要underscore.js。这不适合我。我是编程和GIS的新手。我希望得到一个答案,其中包含必要的完整代码,并希望正在发生的事情背后的逻辑。这对我很有帮助,当然也会帮助我学习。
感谢您的帮助。
答案 0 :(得分:0)
开源项目http://www.jinqJs.com可以轻松完成。 这是GitHub链接:GitHub
var results = jinqJs()
.from(data1)
.groupBy('locationName')
.max('locationLatitude', 'locationLongitude')
.select();
如果您需要任何有效的例子,请告诉我。