使用Java脚本/ Node JS从数组中删除单引号

时间:2017-09-25 21:09:04

标签: arrays node.js javascript-objects single-quotes

我在数组值周围出现单引号问题。 我有一个数组,我定义为:

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,但实际上我想要一个数组。

有任何建议要将值作为数组取出,请删除单引号。

2 个答案:

答案 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);
}));