JavaScript將坐標字符串轉為數(shù)組的項目實踐
在js中如何將字符串"[116.46379121474405,39.97916507672784];[116.46034172158573,40.086119103673724]"轉為數(shù)組格式?
在JavaScript中,你可以使用split
函數(shù)將字符串分割為數(shù)組。給定的字符串是一個包含兩個坐標點的坐標數(shù)組,每個點由經(jīng)度和緯度表示,并以分號分隔。
以下是將給定字符串轉換為數(shù)組的示例代碼:
let str = "[116.46379121474405,39.97916507672784];[116.46034172158573,40.086119103673724]"; let array = str.split(";").map(item => item.split(",").map(Number)); console.log(array);
這段代碼首先使用分號(;
)將字符串分割為兩個子字符串,然后對每個子字符串使用逗號(,
)進行分割,并將結果轉換為數(shù)字數(shù)組。最終得到的結果是一個包含兩個子數(shù)組的數(shù)組,每個子數(shù)組包含兩個數(shù)字。
輸出結果如下:
[
[116.46379121474405, 39.97916507672784],
[116.46034172158573, 40.086119103673724]
]
返回的數(shù)組是NaN
如果上面的代碼返回的數(shù)組包含NaN
值,那么很可能是因為原始字符串中的某些部分沒有被正確地轉換為數(shù)字。NaN
(Not-a-Number)是JavaScript中表示一個值無法被轉換為數(shù)字或者數(shù)學運算結果未定義的特殊值。
在提供的代碼中,map(Number)
應該能夠正確地將每個字符串分割得到的子字符串轉換為數(shù)字,除非這些子字符串中包含了無法被解析為數(shù)字的字符。然而,根據(jù)你之前給出的字符串示例,這不應該發(fā)生,因為所有的值都是合法的數(shù)字格式。
為了解決這個問題,請確保以下幾點:
- 原始字符串中的每個坐標點都是用方括號括起來的,并且每個坐標點之間用分號分隔。
- 每個坐標點中的經(jīng)度和緯度值都是用逗號分隔的。
- 經(jīng)度和緯度值都是有效的數(shù)字格式,沒有包含任何額外的字符或空格。
如果以上都確認無誤,那么代碼應該能夠正確運行。如果仍然得到NaN
,請檢查是否有其他代碼修改了原始字符串或者在處理過程中引入了錯誤。
以下是一個完整且正確的示例,它應該能夠正確地將字符串轉換為數(shù)組:
let str = "[116.10159443312094,39.94465627127621];[116.10274426417372,39.94465627127621];[116.10734358838481,39.94554133173499];"; // 移除字符串開頭和結尾可能存在的多余分號或字符 str = str.replace(/^;|;$/g, ''); // 這個正則表達式實際上對于給定的字符串是不必要的,但為了完整性還是加上了 let array = str.split(";").map(item => { // 移除每個坐標點字符串開頭和結尾的方括號,然后分割并轉換數(shù)字 return item.slice(1, -1).split(",").map(Number); }); console.log(array);
這段代碼會輸出一個包含三個坐標點的數(shù)組,每個點都是一個包含兩個數(shù)字的數(shù)組。如果你在實際運行中得到NaN
,請檢查你的輸入字符串是否與示例字符串完全一致,以及是否在運行代碼之前或之后有其他代碼修改了該字符串。
到此這篇關于JavaScript將坐標字符串轉為數(shù)組的項目實踐的文章就介紹到這了,更多相關JavaScript 坐標字符串轉為數(shù)組內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
javascript firefox不顯示本地預覽圖片問題的解決方法
在Firefox一直不能用js做出圖片預覽的效果,下面這個即可解決,用替換的方法實現(xiàn)firefox支持得的路徑格式2008-11-11使用JavaScript獲取Request中參數(shù)的值方法
下面小編就為大家?guī)硪黄褂肑avaScript獲取Request中參數(shù)的值方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09純js和css實現(xiàn)漸變色包括靜態(tài)漸變和動態(tài)漸變
用javascript實現(xiàn)一下所謂的動態(tài)漸變,考慮動態(tài)原因就不上圖了,我來簡單介紹下思路2014-05-05