Javascript 如何使用坐标数组获取最大/最小边界

Javascript 如何使用坐标数组获取最大/最小边界,javascript,arrays,coordinates,Javascript,Arrays,Coordinates,有谁能帮我解释一下,在坐标数组中,我应该如何得到最大/最小坐标?我想得到的是它能从这些坐标数组中得到的最长距离。前 var coordinates = [{ lat: -231, lng: 223l }, { lat: 43, lng: -4323 }, { lat: 42312, lng: -231 }, { lat: 435345, lng: -6563

有谁能帮我解释一下,在坐标数组中,我应该如何得到最大/最小坐标?我想得到的是它能从这些坐标数组中得到的最长距离。前

var coordinates = [{ lat: -231, lng: 223l }, { lat: 43, lng: -4323 }, { lat: 42312, lng: -231 }, { lat: 435345, lng: -6563 }] // some filter calculation here... // This is what I need var min_coords = { lat, lng } var max_coords = { lat, lng } 变量坐标=[{ 拉丁美洲:-231, 液化天然气:223l }, { 拉脱维亚:43, 液化天然气:-4323 }, { 拉脱维亚:42312, 液化天然气:-231 }, { 拉脱维亚:435345, 液化天然气:-6563 }] //这里有一些过滤计算。。。 //这就是我需要的 var min_coords={lat,lng} var max_coords={lat,lng}
您可以创建值的数组,然后使用
Math.max
Math.min
获得最高和最低值

var坐标=[{
拉丁美洲:-231,
液化天然气:223
}, {
拉脱维亚:43,
液化天然气:-4323
}, {
拉脱维亚:42312,
液化天然气:-231
}, {
拉脱维亚:435345,
液化天然气:-6563
}]
var lat=coordinates.map(函数(p){return p.lat});
var lng=坐标.map(函数(p){return p.lng});
变量最小坐标={
lat:Math.min.apply(null,lat),
lng:Math.min.apply(null,lng)
}
var max_coords={
lat:Math.max.apply(null,lat),
lng:Math.max.apply(null,lng)
}
控制台日志(最小坐标);

控制台日志(最大坐标)
使用
数组的解决方案。原型。reduce
在数组中过滤最小值和最大值-演示如下:

var坐标=[{lat:231,lng:223},{lat:43,lng:-4323},{lat:42312,lng:-231},{lat:435345,lng:-6563}];
var结果=坐标.reduce(函数(上、当前){
if(当前横向<先前最小横向)
prev.min\u cords.lat=curr.lat;
if(当前横向>上一最大横向)
上一个最大值=当前最大值;
如果(当前液化天然气<先前最小液化天然气)
prev.min_.lng=curr.lng;
如果(当前液化天然气>先前最大液化天然气)
上一次最大液化天然气=当前液化天然气;
返回上一个;
},{min_线:{lat:Infinity,lng:Infinity},max_线:{lat:-Infinity,lng:-Infinity});
控制台日志(结果)

。作为控制台包装{top:0;最大高度:100%!important;}
@olanchuy也请告诉我您对此的想法,谢谢!