用js优化下列代码 let currLon = '' let currLat = '' if (this.lon.indexOf('°') > -1) { let lonRep = this.lon.replace(/°/g, ' ').replace(/'/g, ' ').replace(/″/g, ' ') let lonArr = lonRep.split(' ') currLon = lonArr[0] * 1 + lonArr[1] / 60 + lonArr[2] / 3600 console.log(currLon) } if (this.lat.indexOf('°') > -1) { let latRep = this.lat.replace(/°/g, ' ').replace(/'/g, ' ').replace(/″/g, ' ') let latArr = latRep.split(' ') currLat = latArr[0] * 1 + latArr[1] / 60 + latArr[2] / 3600 }
时间: 2023-02-26 21:28:31 浏览: 68
这段代码的目的是将经纬度字符串转换为数字。具体来说,如果经纬度字符串中包含“°”,就将其替换为空格,并分别替换“'”和“″”为空格。然后再把经纬度字符串拆分为数组,并计算出数字值。
如果想要优化这段代码,可以考虑把重复的代码提取出来放到一个函数里。例如:
```
let currLon = ''
let currLat = ''
function convertToNum(str) {
let rep = str.replace(/°/g, ' ').replace(/'/g, ' ').replace(/″/g, ' ')
let arr = rep.split(' ')
return arr[0] * 1 + arr[1] / 60 + arr[2] / 3600
}
if (this.lon.indexOf('°') > -1) {
currLon = convertToNum(this.lon)
console.log(currLon)
}
if (this.lat.indexOf('°') > -1) {
currLat = convertToNum(this.lat)
}
```
阅读全文