Задать вопрос
Pshkll
@Pshkll

Как распарсить строку в два массива?

Здравствуйте.
Имеется строка вида:
{21.02.2016, 22.02.2015, 28.02.2016}#{10 товаров, 2 товара, 4 товара}

Количество "элементов" не обязательно может быть по три, но и больше/меньше, хотя всегда равно друг другу (в данном случае 3 на 3).
Её необходимо распарсить в два массива:
var array1 = {21.02.2016, 22.02.2015, 28.02.2016}
var array2 = {10 товаров, 2 товара, 4 товара}

Как это правильно провернуть?
Заранее спасибо!
  • Вопрос задан
  • 261 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 2
petermzg
@petermzg
Самый лучший программист
var str = "{21.02.2016, 22.02.2015, 28.02.2016}#{10 товаров, 2 товара, 4 товара}";
var strs = str.split('#');
strs.forEach(function(el, index){
	strs[index] = el.replace('{', '').replace('}', '').split(', ');
});
alert(strs[0]);
alert(strs[1]);
Ответ написан
abyrkov
@abyrkov
JavaScripter
Во-первых, вам в объект или массив? {} - объект, []- массив
Во-вторых, легко же
function parseIntoTwoArrays(string){
var array = string.split('#');
// Tеперь array => ['{21.02.2016, 22.02.2015, 28.02.2016}', string2]
for(var counter = 0; counter < array.length; counter++){
array[counter] = array[counter].substring(1, array[counter].length - 1).split(', ');
};
return array;
};

var string = '{21.02.2016, 22.02.2015, 28.02.2016}#{10 товаров, 2 товара, 4 товара}';
var array = parseIntoTwoArrays(string);
var array1 = array[0];
var array2 = array[1];
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@GeraldIstar
Frontend
var splited = "{21.02.2016, 22.02.2015, 28.02.2016}#{10 товаров, 2 товара, 4 товара}".split('#');
var array1 = splited[0];
var array2 = splited[1];

В ES6
var [array1, array2]= "{21.02.2016, 22.02.2015, 28.02.2016}#{10 товаров, 2 товара, 4 товара}".split('#');
Ответ написан
Ваш ответ на вопрос

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

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