Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите каким объектом нужно воспользоваться (https://javascript.ru/forum/misc/52967-podskazhite-kakim-obektom-nuzhno-vospolzovatsya.html)

neromont 15.01.2015 08:39

Подскажите каким объектом нужно воспользоваться
 
Мне нужно занести данные из каждого подобного элемента в новый элемент javascript объекта.
Чтобы найти первый элемент я так понимаю нужно использовать регулярное выражение \[% MyElement [0-9]+ [0-9]+\].
после этого нужно использовать if-конструкцию для сравнения входящих элементов.
[% MyElement 39939 0]
name=MyName
Group=MyGroup
[]
[% MyElement 39939 1]
name=MyName2
Group=MyGroup 2
[]
Вопрос в том, как можно поочередно переходить к элементам [% MyElement 39939 0] и считывать данные name и group. Каким инструментом воспользоваться?

Наверное попробую выдергивать целиком элемент \[% zCMaterial [0-9]+ [0-9]+\][^\[\]]+\[\] и затем в нем выполнять поиск нужных мне параметров :)

SV0L0CH 16.01.2015 07:05

Как по мне, то быстрее сделать `.split('\n')`, потом можно проделать такое
var line;
var outArr=[[]]
while(line = inArr.shift()){
  if(line[1]=='%')
    outArr.unshift([line]);
  else
    outArr[0].push(line);
}
outLine.reverse();

и уже каждый блок пробегать регулярками.
Если нужно будет как-то развивать формат, то можно воспользоваться такими инструментами как этот https://github.com/Svoloch/js-text-tools


Часовой пояс GMT +3, время: 22:12.