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

JavaScript將坐標(biāo)字符串轉(zhuǎn)為數(shù)組的項(xiàng)目實(shí)踐

 更新時(shí)間:2024年01月05日 12:02:08   作者:漏刻有時(shí)  
本文主要介紹了JavaScript將坐標(biāo)字符串轉(zhuǎn)為數(shù)組的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在js中如何將字符串"[116.46379121474405,39.97916507672784];[116.46034172158573,40.086119103673724]"轉(zhuǎn)為數(shù)組格式?

在JavaScript中,你可以使用split函數(shù)將字符串分割為數(shù)組。給定的字符串是一個(gè)包含兩個(gè)坐標(biāo)點(diǎn)的坐標(biāo)數(shù)組,每個(gè)點(diǎn)由經(jīng)度和緯度表示,并以分號(hào)分隔。

以下是將給定字符串轉(zhuǎn)換為數(shù)組的示例代碼:

let str = "[116.46379121474405,39.97916507672784];[116.46034172158573,40.086119103673724]";
let array = str.split(";").map(item => item.split(",").map(Number));
console.log(array);

這段代碼首先使用分號(hào)(;)將字符串分割為兩個(gè)子字符串,然后對(duì)每個(gè)子字符串使用逗號(hào)(,)進(jìn)行分割,并將結(jié)果轉(zhuǎn)換為數(shù)字?jǐn)?shù)組。最終得到的結(jié)果是一個(gè)包含兩個(gè)子數(shù)組的數(shù)組,每個(gè)子數(shù)組包含兩個(gè)數(shù)字。

輸出結(jié)果如下:

[
  [116.46379121474405, 39.97916507672784],
  [116.46034172158573, 40.086119103673724]
]

返回的數(shù)組是NaN

如果上面的代碼返回的數(shù)組包含NaN值,那么很可能是因?yàn)樵甲址械哪承┎糠譀]有被正確地轉(zhuǎn)換為數(shù)字。NaN(Not-a-Number)是JavaScript中表示一個(gè)值無法被轉(zhuǎn)換為數(shù)字或者數(shù)學(xué)運(yùn)算結(jié)果未定義的特殊值。

在提供的代碼中,map(Number)應(yīng)該能夠正確地將每個(gè)字符串分割得到的子字符串轉(zhuǎn)換為數(shù)字,除非這些子字符串中包含了無法被解析為數(shù)字的字符。然而,根據(jù)你之前給出的字符串示例,這不應(yīng)該發(fā)生,因?yàn)樗械闹刀际呛戏ǖ臄?shù)字格式。

為了解決這個(gè)問題,請(qǐng)確保以下幾點(diǎn):

  • 原始字符串中的每個(gè)坐標(biāo)點(diǎn)都是用方括號(hào)括起來的,并且每個(gè)坐標(biāo)點(diǎn)之間用分號(hào)分隔。
  • 每個(gè)坐標(biāo)點(diǎn)中的經(jīng)度和緯度值都是用逗號(hào)分隔的。
  • 經(jīng)度和緯度值都是有效的數(shù)字格式,沒有包含任何額外的字符或空格。

如果以上都確認(rèn)無誤,那么代碼應(yīng)該能夠正確運(yùn)行。如果仍然得到NaN,請(qǐng)檢查是否有其他代碼修改了原始字符串或者在處理過程中引入了錯(cuò)誤。

以下是一個(gè)完整且正確的示例,它應(yīng)該能夠正確地將字符串轉(zhuǎn)換為數(shù)組:

let str = "[116.10159443312094,39.94465627127621];[116.10274426417372,39.94465627127621];[116.10734358838481,39.94554133173499];";
// 移除字符串開頭和結(jié)尾可能存在的多余分號(hào)或字符
str = str.replace(/^;|;$/g, ''); // 這個(gè)正則表達(dá)式實(shí)際上對(duì)于給定的字符串是不必要的,但為了完整性還是加上了
let array = str.split(";").map(item => {
  // 移除每個(gè)坐標(biāo)點(diǎn)字符串開頭和結(jié)尾的方括號(hào),然后分割并轉(zhuǎn)換數(shù)字
  return item.slice(1, -1).split(",").map(Number);
});
console.log(array);

這段代碼會(huì)輸出一個(gè)包含三個(gè)坐標(biāo)點(diǎn)的數(shù)組,每個(gè)點(diǎn)都是一個(gè)包含兩個(gè)數(shù)字的數(shù)組。如果你在實(shí)際運(yùn)行中得到NaN,請(qǐng)檢查你的輸入字符串是否與示例字符串完全一致,以及是否在運(yùn)行代碼之前或之后有其他代碼修改了該字符串。

到此這篇關(guān)于JavaScript將坐標(biāo)字符串轉(zhuǎn)為數(shù)組的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)JavaScript 坐標(biāo)字符串轉(zhuǎn)為數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論