字符串 str 包含单个数组带的双引号怎么处理?

2023-08-24  本文已影响0人  祈澈菇凉

1:字符串 str 包含单个经纬度数组or字符串 str 包含多个经纬度数组

要将字符串 "[["121.489764476833","31.3215977774656"]]" 中的双引号去掉,并将内部的经纬度值变为数字类型,你可以使用以下代码:

var str = '[["121.489764476833","31.3215977774656"]]'; // 原始字符串
//var str = '[["121.489764476833","31.3215977774656"],["121.489764476833","31.3215977774656"],["121.489764476833","31.3215977774656"],["121.489764476833","31.3215977774656"]]'; // 原始字符串

var parsedStr = str.replace(/"/g, ""); // 去除双引号
var parsedData = JSON.parse(parsedStr); // 解析为数组

// 将字符串数组中的元素转换为数字
var result = parsedData.map(function(arr) {
  return arr.map(function(value) {
    return Number(value);
  });
});

var finalStr = JSON.stringify(result); // 转换回字符串

console.log(finalStr);

使用 replace() 函数将字符串中的双引号去除,得到 parsedStr。

使用 JSON.parse() 函数将 parsedStr 解析为数组 parsedData。
使用 map() 函数遍历数组,将字符串类型的经纬度值转换为数字类型。

最后使用 JSON.stringify() 函数将结果数组 result 转换回字符串,并将其赋值给 finalStr。

在控制台输出 finalStr,查看结果字符串。


2:如果数组里面是单引号的话 怎么去除单引号

如果数组中的元素是单引号而不是双引号,你可以使用以下代码将数组中的单引号去除:

var geom = "[['121.489764476833','31.3215977774656'],['121.489764476833','31.3215977774656'],['121.489764476833','31.3215977774656'],['121.489764476833','31.3215977774656']]"; // 原始字符串

var parsedStr = geom.replace(/'/g, ""); // 去除单引号

console.log(parsedStr);

使用了 replace() 函数以正则表达式 /'/g 作为参数,将字符串中的单引号替换为空字符串,以去除单引号。

在控制台输出 parsedStr,查看去除单引号后的字符串。
如下:


3:将包含经纬度的数组中的双引号去除,并将内部的经纬度字符串转换为数字类型

var array = [
    [
        "121.489768450379",
        "31.3216971186524"
    ],
    [
        "121.490865175916",
        "31.3217328814666"
    ],
    [
        "121.490714177567",
        "31.3210851775933"
    ],
    [
        "121.489438637878",
        "31.3210573621167"
    ]
];

var result = array.map(function(subArray) {
    return subArray.map(function(value) {
        return Number(value);
    });
});

console.log(result);

使用了两个嵌套的 map() 函数来遍历数组并转换其中的字符串为数字类型。

外部的 map() 函数遍历数组的每个子数组(经纬度对数组)。

内部的 map() 函数遍历每个子数组中的经度和纬度字符串,并使用 Number() 函数将其转换为数字类型。

得到了转换后的数组 result,其中的经纬度已经以数字类型表示。

在控制台输出 result,查看结果数组。

上一篇 下一篇

猜你喜欢

热点阅读