2017-09-25 90 views
0

我遇到了数组值附近的单引号问题。 我有一个数组,我有定义为:使用Java脚本/节点删除数组中的单引号

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我得到一个字符串,但实际上我想一个数组。

请将任何建议以数组的形式获取值并删除单引号。

+0

使用对象而不是字符串只需填写您的阵列。 – dumitru

回答

0

在你的线路var newLatLongArray = latLongArray.join(',').replace(/'([^']+(?='))'/g, '$1');,你告诉加入你的数组,替换单引号,但你永远不会再分裂。

的加入()函数将在这样的结尾将您的数组一个字符串,替换将取代想要的字符,并给予一个字符串,所以你只需要添加一个.split(“”):

var newLatLongArray = latLongArray.join(',').replace(/'([^']+(?='))'/g, '$1').split(','); 

希望我帮了你!

0

我会假设你想要一个纬度/经度的对象数组。

在这种情况下,你可以使用:

var data = latLongArray.map(item => { 
    item = item.replace('latitude', '"latitude"').replace('longitude', '"longitude"'); 
    return JSON.parse(item); 
}));