【问题标题】:Remove single quotes from an array using Java script / Node JS使用 Javascript / Node JS 从数组中删除单引号
【发布时间】:2018-03-06 22:56:21
【问题描述】:

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

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

请提供任何将值作为数组删除单引号的建议。

【问题讨论】:

  • 只需用对象而不是字符串填充数组。

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


【解决方案1】:

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

join() 函数会将您的数组转换为字符串,replace 将替换想要的字符并给出一个字符串,因此您只需在末尾添加一个 .split(',') ,如下所示:

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

希望能帮到你!

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      • 2019-06-30
      • 2013-11-22
      • 1970-01-01
      • 2020-01-11
      • 2015-05-21
      相关资源
      最近更新 更多