| 
 | 
	
	
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 13:39
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.08.2009 
					
					
					
						Сообщений: 22
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				поиск элемента по критериям
			 
			
		
		
		
		итак, я получаю json объект со списком заданий. Укаждого задания есть его айди, текст, айди родительского задания (каждое задание может иметь подзадания) 
 
необходимо выбрать все подзадания, принадлежащие некоторому подзаданию 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 13:49
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.12.2009 
					
					
					
						Сообщений: 32
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		перебор по jsonу (надеюсь, вы не сделали json вложенным ? в нем есть ограничение на вложенность), хитрый цикл  
что то типа этого
 
var k = 0, child_tasks = [], looked_all = false;
while(true)
{
if (data[k].parentId = parentId)
{
child_tasks.push(k);
}
if (k == data.length) looked_all = true;
if (looked_all) break;
}
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 13:50
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.02.2008 
					
					
					
						Сообщений: 9,177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от sergdev
			
		
	 | 
 
	| 
		надеюсь, вы не сделали json вложенным ? в нем есть ограничение на вложенность
	 | 
 
	
 
 Что за ограничения?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 13:54
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.08.2009 
					
					
					
						Сообщений: 22
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 конечно-же не сделал. Циклом перебитать все элементы... Думал так сделать, но отказался, ибо долго. Элементов примерно 5к, а клиентские машины имеют камни 1.2 и мозгов 128мб. Может что-нибудь лучше есть? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 13:54
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.12.2009 
					
					
					
						Сообщений: 32
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Kolyaj
			 
		
	 | 
 
	| 
		Что за ограничения?
	 | 
 
	
 
 Виноват, то у меня перепуталось с пхп   
http://ua.php.net/json_decode
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	
		5.3.0  	Added the optional depth . The default recursion depth was increased from 128 to 512 
5.2.3 	The nesting limit was increased from 20 to 128
	 | 
 
	
 
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 13:56
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.12.2009 
					
					
					
						Сообщений: 32
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Wagner
			 
		
	 | 
 
	| 
		конечно-же не сделал. Циклом перебитать все элементы... Думал так сделать, но отказался, ибо долго. Элементов примерно 5к, а клиентские машины имеют камни 1.2 и мозгов 128мб. Может что-нибудь лучше есть?
	 | 
 
	
 
 Юзать deferred вычисления в джаваскрипте(если не важна скорость)(ссылку привести быстро не могу), либо делать запрос к серверу и возвращать айдишники тех элементов, которые нужны  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 14:01
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.08.2009 
					
					
					
						Сообщений: 22
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от sergdev
			 
		
	 | 
 
	| 
		Юзать deferred вычисления в джаваскрипте(если не важна скорость)(ссылку привести быстро не могу), либо делать запрос к серверу и возвращать айдишники тех элементов, которые нужны
	 | 
 
	
 
 запрос к серверу каждый раз - долго слишком. может можно в getelementbytagname указать критерий поиска?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 14:06
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.12.2009 
					
					
					
						Сообщений: 32
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 думаете перебрать 5000 элементов будет быстрей ? 
очень сомневаюсь 
из двух зол выберите меньшее 
1. нагрузка на сервер в случае запроса к серверу 
2. тормознутость страницы в случае с вычислениями без запросов к серверу. 
конечно как идея, изменить формат вашего джсона, вы же как то его формируете : Добавить туда поле типа - child_ids 
или на вашей странице запустить деферред вычисление и для каждого id найти все childы( и "закешировать" их в джсе). 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 14:10
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.08.2009 
					
					
					
						Сообщений: 22
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 у каждого объекта есть поле parent_id. От этого как-то можно оттолкнуться? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.03.2010, 14:13
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.12.2009 
					
					
					
						Сообщений: 32
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 конечно, просто на сервере при формировании jsonа 
каждому itemу присвойте еще одно поле child_ids : [] 
это будет массив с айдишниками детей. 
как их вычислять ? 
как пример 
[{1:{ 
title:"dsad", 
parent_id: 0, 
child_ids : [2] 
}, 
2: { 
title: "dsadasdas", 
parent_id:1 
} 
}] 
упс видим что 2 - это ребенок 1 элемента добавляем в 1 след. поле  
поняли ? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |