jQuery 如何删除Javascript数组中的方括号?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16087331/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to remove square brackets in a Javascript array?
提问by ngplayground
I have an array called value
and when I console.log(value)
I get about 30 lines of code with the following [6.443663, 3.419248]
我有一个数组value
,当我console.log(value)
得到大约 30 行代码时[6.443663, 3.419248]
The numbers change as they are Latitudes and Longitudes. But I need to somehow get rid of the square brackets around each one.
数字随着纬度和经度的变化而变化。但我需要以某种方式摆脱每个人周围的方括号。
I tried var replaced = value.toString().replace(/\[.*\]/g,'');
but this changed the above example to 6.443407,3.419035000000008
and failed my code.
我试过了,var replaced = value.toString().replace(/\[.*\]/g,'');
但这改变了上面的例子6.443407,3.419035000000008
,但我的代码失败了。
In other words I need help getting rid of square brackets in an array in order to plot points on my map.
换句话说,我需要帮助去掉数组中的方括号,以便在我的地图上绘制点。
My array is made up from the following code because each latitude and longitude value is held within onClick
functions within a
links. So a member on here kindly supplied the below code to get my values into an array but now I'm struggling to get the values out without any brackets ruining it.
我的数组由以下代码组成,因为每个纬度和经度值都保存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])];
});
The array is trying to plot markers on my Google Map using the following code
该数组正在尝试使用以下代码在我的 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);
}
});
});
回答by Gga
Unless I've misread and the item is an object rather than a string with brackets contained, the you could just access it by its sub array poition
除非我误读并且该项目是一个对象而不是包含括号的字符串,否则您可以通过其子数组 poition 访问它
lat = obj[this.id][0]
lng = obj[this.id][1]
perhaps?
也许?
回答by AURIGADL
transforms the line to array to text.
将行到数组转换为文本。
var value = [[1234213, 1234231], [1234213, 1234231]];
var dato = value[0];
console.log(dato.toString());
回答by Adriano Carneiro
It looks like you want the comma separated string representation of the array. If that's the case, you can do this:
看起来您想要数组的逗号分隔字符串表示形式。如果是这种情况,您可以这样做:
var commasep = value.join(",");