我在数组值周围出现单引号问题。 我有一个数组,我定义为:
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
我能够删除单引号,但我得到的是作为String的newLatLongArray,但实际上我想要一个数组。
有任何建议要将值作为数组取出,请删除单引号。
答案 0 :(得分:0)
在您的第var newLatLongArray = latLongArray.join(',').replace(/'([^']+(?='))'/g, '$1');
行,您告诉加入您的数组,替换单引号,但您再也不会拆分。
join()函数会将数组转换为字符串,替换将替换所需字符并提供字符串,因此您只需要在末尾添加.split(',')像这样:
var newLatLongArray = latLongArray.join(',').replace(/'([^']+(?='))'/g, '$1').split(',');
希望我帮助过你!
答案 1 :(得分:0)
我会假设您需要一组纬度/长度对象。
在这种情况下,您可以使用:
var data = latLongArray.map(item => {
item = item.replace('latitude', '"latitude"').replace('longitude', '"longitude"');
return JSON.parse(item);
}));