欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript將坐標字符串轉為數(shù)組的項目實踐

 更新時間:2024年01月05日 12:02:08   作者:漏刻有時  
本文主要介紹了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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論