7

我有一个名为的数组value,当console.log(value)我得到大约 30 行代码时,代码如下[6.443663, 3.419248]

数字随着纬度和经度而变化。但我需要以某种方式摆脱每个方括号。

我尝试过var replaced = value.toString().replace(/\[.*\]/g,'');,但这将上面的示例更改为6.443407,3.419035000000008并且使我的代码失败。

换句话说,我需要帮助摆脱数组中的方括号,以便在我的地图上绘制点。

我的数组由以下代码组成,因为每个纬度和经度值都保存在链接内的onClick函数中。a所以这里的一个成员好心地提供了下面的代码来将我的值放入一个数组中,但现在我正在努力在没有任何括号破坏它的情况下取出这些值。

var obj = {};
$('.choice-location-inner a').each(function(){
    var $this = $(this);
    var text = $this.attr('onClick').replace('findLocation(\'', '').replace('\');return false;', '');
    var array = text.split(',')
    obj[this.id]= [parseFloat(array[0]), parseFloat(array[1])];
});

该数组正在尝试使用以下代码在我的 Google 地图上绘制标记

$.each(obj , function(index, value){
    geocoder = new google.maps.Geocoder();

    geocoder.geocode( { 'address': value}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            map.setCenter(results[0].geometry.location);
            marker = new google.maps.Marker({
                map: map,
                icon: image,
                position: results[0].geometry.location
            });
        } else if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
            wait = true;
            setTimeout("wait = false", 1000);
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
});
4

5 回答 5

12

将行转换为数组到文本。

var value = [[1234213, 1234231], [1234213, 1234231]];
var dato = value[0];
console.log(dato.toString());
于 2013-04-18T15:55:10.003 回答
10

除非我读错了并且该项目是一个对象而不是包含括号的字符串,否则您可以通过其子数组位置访问它

lat = obj[this.id][0]
lng = obj[this.id][1]

也许?

于 2013-04-18T15:45:57.180 回答
4

看起来您想要数组的逗号分隔字符串表示。如果是这种情况,您可以这样做:

var commasep = value.join(",");
于 2013-04-18T15:43:35.330 回答
0
`${arr.map(({ id }) => id)}`

除了使用内置函数之外,这种方式可能更简单!

于 2020-08-06T08:35:37.627 回答
0

如果你需要一个干净的输入,你可以写这个。

var justTheDataWithoutSeparation = data.split('');

当然,如果你想用逗号或其他东西分隔,你需要添加

vat dataSeparatedWithSomething = data.split('-');

您需要小心,因为执行此方法可能会导致您的数据设置为字符串值,并可能影响您的输出,您需要先转换它。

于 2021-02-21T02:36:58.717 回答