JavaScript将坐标字符串转为数组的项目实践

 更新时间:2024年01月05日 12:02:08   作者:漏刻有时  
本文主要介绍了JavaScript将坐标字符串转为数组的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在js中如何将字符串"[116.46379121474405,39.97916507672784];[116.46034172158573,40.086119103673724]"转为数组格式?

在JavaScript中,你可以使用split函数将字符串分割为数组。给定的字符串是一个包含两个坐标点的坐标数组,每个点由经度和纬度表示,并以分号分隔。

以下是将给定字符串转换为数组的示例代码:

let str = "[116.46379121474405,39.97916507672784];[116.46034172158573,40.086119103673724]";
let array = str.split(";").map(item => item.split(",").map(Number));
console.log(array);

这段代码首先使用分号(;)将字符串分割为两个子字符串,然后对每个子字符串使用逗号(,)进行分割,并将结果转换为数字数组。最终得到的结果是一个包含两个子数组的数组,每个子数组包含两个数字。

输出结果如下:

[
  [116.46379121474405, 39.97916507672784],
  [116.46034172158573, 40.086119103673724]
]

返回的数组是NaN

如果上面的代码返回的数组包含NaN值,那么很可能是因为原始字符串中的某些部分没有被正确地转换为数字。NaN(Not-a-Number)是JavaScript中表示一个值无法被转换为数字或者数学运算结果未定义的特殊值。

在提供的代码中,map(Number)应该能够正确地将每个字符串分割得到的子字符串转换为数字,除非这些子字符串中包含了无法被解析为数字的字符。然而,根据你之前给出的字符串示例,这不应该发生,因为所有的值都是合法的数字格式。

为了解决这个问题,请确保以下几点:

  • 原始字符串中的每个坐标点都是用方括号括起来的,并且每个坐标点之间用分号分隔。
  • 每个坐标点中的经度和纬度值都是用逗号分隔的。
  • 经度和纬度值都是有效的数字格式,没有包含任何额外的字符或空格。

如果以上都确认无误,那么代码应该能够正确运行。如果仍然得到NaN,请检查是否有其他代码修改了原始字符串或者在处理过程中引入了错误。

以下是一个完整且正确的示例,它应该能够正确地将字符串转换为数组:

let str = "[116.10159443312094,39.94465627127621];[116.10274426417372,39.94465627127621];[116.10734358838481,39.94554133173499];";
// 移除字符串开头和结尾可能存在的多余分号或字符
str = str.replace(/^;|;$/g, ''); // 这个正则表达式实际上对于给定的字符串是不必要的,但为了完整性还是加上了
let array = str.split(";").map(item => {
  // 移除每个坐标点字符串开头和结尾的方括号,然后分割并转换数字
  return item.slice(1, -1).split(",").map(Number);
});
console.log(array);

这段代码会输出一个包含三个坐标点的数组,每个点都是一个包含两个数字的数组。如果你在实际运行中得到NaN,请检查你的输入字符串是否与示例字符串完全一致,以及是否在运行代码之前或之后有其他代码修改了该字符串。

到此这篇关于JavaScript将坐标字符串转为数组的项目实践的文章就介绍到这了,更多相关JavaScript 坐标字符串转为数组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 微信小程序传值常用的4种方式

    微信小程序传值常用的4种方式

    微信小程序开发中的大部分知识点和前端开发是一模一样的,这篇文章主要给大家介绍了关于微信小程序传值常用的4种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • JS实现简单移动端鼠标拖拽

    JS实现简单移动端鼠标拖拽

    这篇文章主要为大家详细介绍了JS实现简单移动端鼠标拖拽,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • webpack4 SCSS提取和懒加载的示例

    webpack4 SCSS提取和懒加载的示例

    这篇文章主要介绍了webpack4 SCSS提取和懒加载的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • javascript firefox不显示本地预览图片问题的解决方法

    javascript firefox不显示本地预览图片问题的解决方法

    在Firefox一直不能用js做出图片预览的效果,下面这个即可解决,用替换的方法实现firefox支持得的路径格式
    2008-11-11
  • 使用JavaScript获取Request中参数的值方法

    使用JavaScript获取Request中参数的值方法

    下面小编就为大家带来一篇使用JavaScript获取Request中参数的值方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 纯js和css实现渐变色包括静态渐变和动态渐变

    纯js和css实现渐变色包括静态渐变和动态渐变

    用javascript实现一下所谓的动态渐变,考虑动态原因就不上图了,我来简单介绍下思路
    2014-05-05
  • HTML5开发Kinect体感游戏的实例应用

    HTML5开发Kinect体感游戏的实例应用

    这篇文章主要介绍了HTML5开发Kinect体感游戏的实例应用的相关资料,希望通过本文能够帮助到大家,需要的朋友可以参考下
    2017-09-09
  • 微信小程序学习之数据处理详解

    微信小程序学习之数据处理详解

    这篇文章主要给大家介绍了关于微信小程序中数据处理的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • 微信小程序实现表单验证

    微信小程序实现表单验证

    这篇文章主要为大家详细介绍了微信小程序实现表单验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • layui给下拉框、按钮状态、时间赋初始值的方法

    layui给下拉框、按钮状态、时间赋初始值的方法

    今天小编就为大家分享一篇layui给下拉框、按钮状态、时间赋初始值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09

最新评论