簡體   English   中英

將字符串中的項目反轉為數組

[英]reverse items in a string into an array

我正在使用Google Maps API,在LongLat中有一些坐標需要轉換為LatLong

這是字符串:

1.5887868,50.8315241|1.5830702,50.8466931|1.590201,50.827209|1.5887868,50.8315241

其中1.5887868是第一縱向坐標, 50.8315241是第一緯向cooridnate,並且對通過破碎|

我認為我需要更改這些配對項目的順序,因為google在這里只能接受LatLng (( LngLat會導致錯誤)

center:new google.maps.LngLat(50.8315241, 1.5887868),

最簡單的方法是什么? 或者-有沒有辦法讓我使用long,lat格式的坐標呢?

這應該可以滿足您的需求:

var longLatStr = "1.5887868,50.8315241|1.5830702,50.8466931|1.590201,50.827209|1.5887868,50.8315241";

var latLongStr = longLatStr.split("|").map(function(longLatPair){
    var longLatPairArr = longLatPair.split(",");
    return longLatPairArr[1] + "," + longLatPairArr[0];
}).join('|');

您可以使用.replace()函數交換字符串中的任何內容(取決於正則表達式)。 對於要交換的任何內容,都可以通過在括號中捕獲要交換的每個對象來進行匹配,然后在替換字符串中使用$n指定要將其移動到的位置。 請參閱以下示例:

var c = '1.5887868,50.8315241|1.5830702,50.8466931|1.590201,50.827209|1.5887868,50.8315241';
var swapped = c.replace(/(-?\d+\.\d+),(-?\d+\.\d+)/g, '$2,$1');

您可以閱讀有關在MDN上使用特殊替換模式的完整文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM