Javascript 在对象数组中循环,直到lat/lng不为零
我有一个带有标记lat/lngs的对象数组,有时地址没有地理编码,所以我想跳过lat:0,lng:0。 我现在要做的是设置一个循环,这样它就可以在数组中循环并找到第一个非空的对象 它不会显示地图,说它是未定义的 这就是我到目前为止想到的Javascript 在对象数组中循环,直到lat/lng不为零,javascript,google-maps,Javascript,Google Maps,我有一个带有标记lat/lngs的对象数组,有时地址没有地理编码,所以我想跳过lat:0,lng:0。 我现在要做的是设置一个循环,这样它就可以在数组中循环并找到第一个非空的对象 它不会显示地图,说它是未定义的 这就是我到目前为止想到的 var Points = [{ lat: 0, lng: 0 }, { lat: 42, lng: -72 }, { lat: 41, lng: -73 }]; function initMap() {
var Points = [{
lat: 0,
lng: 0
}, {
lat: 42,
lng: -72
}, {
lat: 41,
lng: -73
}];
function initMap()
{
for (var i = 0; i < Points.length; i++)
{
if (Points[i].lat * Points[i].lng != 0)
{
map = new google.maps.Map(document.getElementById('map'),
{
center: new google.maps.LatLng(Points[i].lat, Points[i].lng),
zoom: 10,
scaleControl: true
})
break;
}
else
{
continue;
}
}
}
var点=[{
纬度:0,
液化天然气:0
}, {
拉脱维亚:42,
液化天然气:-72
}, {
拉丁美洲:41,
液化天然气:-73
}];
函数initMap()
{
对于(变量i=0;i
使用数组。过滤器
:
var点=[{
纬度:0,
液化天然气:0
}, {
拉脱维亚:42,
液化天然气:-72
}, {
拉丁美洲:41,
液化天然气:-73
}];
/**
给定一个具有'lat'和'lng'属性的对象,如果'lat'和'lng'!=0
-参数p:要测试的点
-返回:如果'lat'和'lng'!=0
*/
函数点为非零(p){
返回p.lat!==0和p.lng!==0;
}
console.log(Points.filter(pointIsNonZero))代码>这很奇怪,但不管怎样,我想找出一种方法让它跳过0,0@Mr.Smithyyy我尝试了你的代码,它运行得很好,所以我不知道你遇到了什么未定义的错误。如果你想测试数组条目,可以使用array.filter方法