简体   繁体   English

用Javascript填充数组

[英]Fill Array in Javascript

How to Fill this type of Array in Javascript.. 如何在Javascript中填充此类数组。

var neighborhoods = [
    {lat: 52.511, lng: 13.447},
    {lat: 52.549, lng: 13.422},
    {lat: 52.497, lng: 13.396},
    {lat: 52.517, lng: 13.394}
];

I have tried this way but its not happening 我已经尝试过这种方法,但是没有发生

$.each(result.geoloc, function(index,geoloc) {
    geoloc_split=geoloc.Geoloc.split(',');
    // alert(geoloc_split[0]+","+geoloc_split[1]);
    var lat="lat: "+geoloc_split[0];
    var lng = "lng: "+geoloc_split[1];
    neighborhoods.push(lat,lng);
    geoloc_split="";
});

You are pushing only values to array. 您只将值推入数组。 You need to push new object (eg create it with object literal). 您需要推送新对象(例如,使用对象文字创建它)。 Furthermore you need to convert string values to float: 此外,您需要将字符串值转换为float:

var lat = parseFloat(geoloc_split[0]);
var lng = parseFloat(geoloc_split[1]);
neighborhoods.push({
    lat: lat,
    lng: lng
});

In ES6 you can use property value shorthand: 在ES6中,您可以使用属性值速记:

neighborhoods.push({lat, lng});

You should do like this : 您应该这样做:

$.each(result.geoloc, function(index,geoloc) {
     geoloc_split=geoloc.Geoloc.split(',');

     neighborhoods.push({
         lat:parseFloat(geoloc_split[0]),
         lng:parseFloat(geoloc_split[1])
     });

     geoloc_split="";
});

Because your neighborhood array is an array of object you need to fill it with objects . 因为您的邻域数组是对象的数组,所以需要用对象填充它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM