我在数组值周围有单个引号的问题。我有一个数组,我将其定义为:
var latLongArray=[];
我所获得的价值如下:
['{latitude:43.73747, longitude:7.163546}',
'{latitude:50.127339, longitude:8.60512}',
'{latitude:30.267, longitude:-97.743}' ]
我不想要单个引号,我尝试使用上面的所有解决方案,但不适用于我的问题。我尝试使用以下解决方案删除单引号:
var newLatLongArray = latLongArray.join(',').replace(/'([^']+(?='))'/g, '$1');
// Remove single quotes
我能够删除单个引号,但是我要作为字符串获得的newlatlongarray,但实际上我想要一个数组。
请有任何建议将值作为带有单个引号的数组。
在您的行var newLatLongArray = latLongArray.join(',').replace(/'([^']+(?='))'/g, '$1');
上,您告诉您加入数组,替换单引号,但您再也不会分开。
join()函数将您的数组转换为字符串,替换将替换想要的字符并给出一个字符串,因此您只需要在这样的末端添加.split(','):
var newLatLongArray = latLongArray.join(',').replace(/'([^']+(?='))'/g, '$1').split(',');
希望我帮你!
我会在您想要的lat/long对象的假设下进行。
在这种情况下,您可以使用:
var data = latLongArray.map(item => {
item = item.replace('latitude', '"latitude"').replace('longitude', '"longitude"');
return JSON.parse(item);
}));