Как строку преобразовать в объект?

Строка:
var coords = "55.759906, 37.622242;50.455898, 30.521481";

Нужно получить:
var coords = [
[55.759906, 37.622242],
[50.455898, 30.521481]
]
  • Вопрос задан
  • 250 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Разбить в массив по точке-с-запятой. Затем каждый элемент разбить по запятой-с-пробелом в массив пар координат (они будут текстовыми строками "55.759906" и прогнать каждую через parseFloat чтобы стали числами:
var coords = "55.759906, 37.622242;50.455898, 30.521481";
coords = coords.split(';').map( e => e.split(', ').map(parseFloat));
//[[55.759906,37.622242],[50.455898,30.521481]]

// или вариант для старых браузеров:
coords = coords.split(';').map( function(e){ return e.split(', ').map(parseFloat)});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
var coords = "55.759906, 37.622242;50.455898, 30.521481"; 
var temp = coords.match(/([0-9\.]+)\D*([0-9\.]+)\D*([0-9\.]+)\D*([0-9\.]+)/); 
coords = [[temp[1], temp[2]], [temp[3], temp[4]]];
Ответ написан
Комментировать
@GreatRash
var coords = "55.759906, 37.622242;50.455898, 30.521481";
coords = coords.split(';');

coords = [coords[0].split(','), coords[1].split(',')];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы