Javascript 在对象数组中循环,直到lat/lng不为零

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() {

我有一个带有标记lat/lngs的对象数组,有时地址没有地理编码,所以我想跳过lat:0,lng:0。 我现在要做的是设置一个循环,这样它就可以在数组中循环并找到第一个非空的对象

它不会显示地图,说它是未定义的

这就是我到目前为止想到的

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方法