2013-11-25 122 views
1
latlng = (58.39847354300152, 15.579836368560791) 

我如何拆分上述的元組,所以我得到兩個變量這樣分割解析成兩個變量

lat = 58.39847354300152 
lng = 15.579836368560791 

我已經採用分體式這樣沒有成功

split = latlng.split(","); 
lat = split[0]; 
lng = split[1]; 
+0

是,即使有效嗎?只需在瀏覽器的控制檯中嘗試'latlng =(58.39847354300152,15.579836368560791)' – karthikr

+1

Javascript沒有Tuple類型,那麼您有什麼樣的價值?它是一個字符串,一個數組還是一個對象? – Guffa

+0

@karthikr它是有效的語法,但可能不是OP所期望的。 – Tibos

回答

1

我有趣的是字符串

var latlng = "(58.39847354300152, 15.579836368560791)" 

// Remove the parentheses and whitespace 
latlng = latlng.replace(/[() ]/g,'') 

// Now your code 
var split = latlng.split(","); 
var lat = split[0]; 
var lng = split[1]; 

或者作爲@wared說剛符合數字和小數點

var latlng = "(58.39847354300152, 15.579836368560791)" 
var split = latlng.match(/\d+\.\d+/g)  
+1

+1祝你好運:D你可以使用'match':'split = latlng.match(/ \ d + \。。\ d +/g)'將'replace'和'split'合併在一起。 – leaf

0

我試着假設latlng是一個數組,因爲你寫的元組不是一種有效的存儲信息的方式。

var latlng = [58.39847354300152, 15.579836368560791]; 
var lat = latlng[0]; // 58.39847354300152 
var lng = latlng[1]; // 15.579836368560791