You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分经纬度对象、移除空格并按逗号分割值赋值给独立常量?

经纬度对象解析实现方案

问题场景

出于隐私保护考虑,示例中使用的坐标均为随机生成数值,待处理的经纬度键值对象格式如下:

const coordObj = {
  '0': '2',
  '1': '5',
  '2': '.',
  '3': '1',
  '4': '3',
  '5': '4',
  '6': '2',
  '7': '0',
  '8': '0',
  '9': ',',
  '10': ' ',
  '11': '-',
  '12': '3',
  '13': '8',
  '14': '.',
  '15': '5',
  '16': '4',
  '17': '9',
  '18': '2',
  '19': '0',
  '20': '2'
}

需求为:拼接该对象所有字符取值,移除空白字符后按逗号分割,将拆分得到的经纬度值分别存入独立常量。

实现步骤

  • 按照键的数字升序遍历对象,避免默认遍历顺序错乱导致拼接结果错误
  • 将遍历拿到的所有字符拼接为原始字符串
  • 通过正则替换移除字符串内的所有空白字符
  • 以逗号为分隔符拆分字符串,拿到经度、纬度两个结果,分别声明常量存储

完整实现代码

// 按键的数字顺序拼接所有字符
const rawStr = Object.keys(coordObj)
  .sort((a, b) => Number(a) - Number(b))
  .map(key => coordObj[key])
  .join('')

// 移除所有空白字符
const cleanedStr = rawStr.replace(/\s/g, '')

// 拆分结果存入独立常量
const [longitude, latitude] = cleanedStr.split(',')

// 结果验证
console.log(longitude) // 输出:25.134200
console.log(latitude)  // 输出:-38.549202

注意:如果能100%确认对象的键是从0开始连续递增的数字字符串,也可以省略排序步骤直接遍历取值,但保留排序逻辑可以兼容键顺序错乱的异常场景,代码鲁棒性更强。

内容的提问来源于stack exchange,提问作者Hudson Basso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:48:21