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

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

作者: 祈澈菇凉 | 来源:发表于2023-08-24 17:51 被阅读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,查看结果数组。

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/vqxvmdtx.html