"北緯35度39分31秒 東経139度44分44秒"
や"35°39′31″N 139°44′44″E"
などの表記を十進数表記に雑に変換する。
function dms2decimal(dms) {
return dms.split(/\D/).filter(d => d != "").reduce((a, c, i) => {
const opt = {
1: 60,
2: 3600
}
const na = +a;
const nc = +c;
return na + (nc / opt[i])
})
}
> dms2decimal("北緯35度39分31秒");
<- 35.65861111111111
> dms2decimal("東経139度44分44");
<- 139.74555555555554
> dms2decimal("35°39′31″N");
<- 35.65861111111111
> dms2decimal("139°44′44″E");
<- 139.74555555555554
実に雑なので、誤作動するときがあるかも。
コメント
@shiracamus(編集済み)
0
@sfrm3
0
べき乗演算子を使うとopt変数を不要にできますね。
filter()
とかreduce()
とか要らなくないですか?