Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Парсер файла (https://javascript.ru/forum/misc/53449-parser-fajjla.html)

Denis_Artamonov 05.02.2015 14:57

COM_SECT_ITEMS = SECT_GATESn[i].getElementsByTagName("Com_Sect_Items");

			var arKalitka = new Array();

			for (var j = 0; j < COM_SECT_ITEMS.length; j++){
				CONDITION_ID = COM_SECT_ITEMS[j].getAttribute("CONDITION_ID");
				if(CONDITION_ID == 31 || CONDITION_ID == 206 || CONDITION_ID == 512){
					arKalitka[j] = "К, ";
				}
			}

			if(arKalitka.indexOf("К, ") != -1){
				alert("Калитка имеется");
				KALITKA = "К, ";
			}
			else{
				alert("Калитка НЕ имеется");
				KALITKA = "";
			}


если имеется калитка, то пишу в массив
после цикла проверяю полученный массив на наличие калитки
если имеется хотя бы одна калитка, то присваиваю KALITKA значение и вывожу, иначе делаю пустой

так нормально будет? :)
или можно было проще реализовать?

ksa 05.02.2015 15:06

Цитата:

Сообщение от Denis_Artamonov
так нормально будет?
или можно было проще реализовать?

Если тебе интересен только сам факт наличия "калитки" в массиве - достаточно найти одну "калитку" и прекратить дальнейший поиск совсем. ;)

ksa 05.02.2015 15:13

Т.е. нечто такое...

KALITKA = "";
for (var j = 0; j < COM_SECT_ITEMS.length; j++){
	CONDITION_ID = COM_SECT_ITEMS[j].getAttribute("CONDITION_ID");
	if({31:1,206:1,512:1}[CONDITION_ID]){
		KALITKA = "К, ";
		break;
	};
};
alert(KALITKA);


P.S.
Какие у тебя страшные идентификаторы у переменных...

Denis_Artamonov 05.02.2015 15:17

for (var j = 0; j < COM_SECT_ITEMS.length; j++){
				CONDITION_ID = COM_SECT_ITEMS[j].getAttribute("CONDITION_ID");
				if(CONDITION_ID == 31 || CONDITION_ID == 206 || CONDITION_ID == 512){
					KALITKA = "К, ";
					break;
				}
				else{
					KALITKA = "";
				}
			}


понятно, сделано
спасибо :)

ksa 05.02.2015 15:19

Цитата:

Сообщение от Denis_Artamonov
сделано

Зачем обрабатывать else? :D См. мой пример выше...

Denis_Artamonov 05.02.2015 15:21

Цитата:

Сообщение от ksa (Сообщение 355197)
Зачем обрабатывать else? :D См. мой пример выше...

да я уже понял :) тороплюсь просто

Denis_Artamonov 05.02.2015 15:22

Цитата:

P.S.
Какие у тебя страшные идентификаторы у переменных...
что не так?)

ksa 05.02.2015 15:23

Цитата:

Сообщение от Denis_Artamonov
что не так?

Длинные... Капслоком...

Denis_Artamonov 05.02.2015 15:27

разрабатываю на Битрикс
а у них переменные в основном так и записываются

вот привычка и выработалась :)

ksa 05.02.2015 16:04

Цитата:

Сообщение от Denis_Artamonov
а у них переменные в основном так и записываются

Так то системные переменные..


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