 
			
				02.05.2017, 13:27
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		denis82,
  
<script>
var models = {};
models[79] = [];
models[79][0]= {'19709' : 'Creta'};
models[79][1]= {'19701' : 'Coupe'};
models[79][2]= {'19725': 'ix35'};
models[79].sort(function() {
    // тут можно сортировать как вам нужно, если будет как структура выше
});
alert(models[79]);
</script>
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.05.2017, 13:36
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		denis82,
<script>
var models = {};
models[79] = [];
models[79][0]= {'19709' : 'Creta'};
models[79][1]= {'19701' : 'Coupe'};
models[79][2]= {'19725': 'ix35'};
models[79].sort(function(a,b) {
  for(var k in a) a = k;
  for(var k in b) b = k;
  return a - b});
document.write(JSON.stringify(models[79]));
</script>
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.05.2017, 18:35
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 30.04.2017 
					
					
					
						Сообщений: 8
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Да, спасибо, Рони, наверное так и нужно делать. Но как тогда потом на выходе получить такой формат: 
models[79][19701] = 'Coupe'; 
models[79][19709] = 'Creta'; 
models[79][19725] = 'ix35'; 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.05.2017, 19:32
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от denis82
			
		
	 | 
 
	| 
		Но как тогда потом на выходе получить такой формат
	 | 
 
	
 
 никак  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				02.05.2017, 19:39
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 denis82, 
 либо вы измените структуру данных и потом сортируите как угодно, либо забудьте о сортировке. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.05.2017, 09:22
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от denis82
			
		
	 | 
 
	| 
		наверное так и нужно делать
	 | 
 
	
 
 Данные откуда, кто их формирует в такую структуру? Если это данные из базы, то почему сразу запросом не отсортировать их?
 
	
 
	| 
		
			Сообщение от denis82
			
		
	 | 
 
	| 
		на выходе получить такой формат
	 | 
 
	
 
 Для чего? Собственно так models[79][19701] и можно получить данные из объекта, а каков синтаксис его описания вам какая разница?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.05.2017, 17:19
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 30.04.2017 
					
					
					
						Сообщений: 8
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Данные сортируются на стороне клиента в браузере - зависимые списки: марка, модель, поколение, серия, модификация автомобилей. Марки сортирую из БД запросом, но остальные списки сортировать нужно на js. То есть выбрал марку, в зависимости от нее построился список моделей отсортированный по алфавиту с сохранением ключей, чтобы дальше при отправке на сервер передались нужные ключи. Есть скрипт, который управляет списками, подгружая нужный список в зависимости от выбранного, поэтому и желательно подстроить под него синтаксис. Как-то не думал что такие сложности с сортировкой возникнут. В js я совсем слаб, уж простите. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.05.2017, 17:29
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от denis82
			
		
	 | 
 
	| 
		То есть выбрал марку, в зависимости от нее построился список моделей отсортированный по алфавиту с сохранением ключей, чтобы дальше при отправке на сервер передались нужные ключи.
	 | 
 
	
 
 То есть если поля формы или иные данные отдаваемые клиентом серверу не будут сортированы, то сервер получит "ненужные ключи"? Что за глупость   
	
 
	| 
		
			Сообщение от denis82
			
		
	 | 
 
	| 
		Марки сортирую из БД запросом, но остальные списки сортировать нужно на js.
	 | 
 
	
 
 С чего вдруг если речь о зависимых списках? Даже если списки не получаются асинхронным запросом, а строятся уже по отданным клиенту данным, это же не мешает их заведомо отсортировать.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.05.2017, 19:31
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 30.04.2017 
					
					
					
						Сообщений: 8
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Имею в виду что если сделать сортировку, как я писал в первом посте, то ключи присвоятся по порядку: 0, 1, 2, 3 и т.д. 
 
Я пробовал сортировать заранее при выводе данных из базы, сортируется корректно, но после этого 
models[<?php echo $id_brand; ?>][<?php echo $k; ?>] = '<?php echo $v; ?>'; 
в поле select сортировка как будто игнорируется. Вот почему и стал думать как корректно сортировать массив на js. Не могу понять почему сортировка слетает. 
 
foreach ($array2 as $k=>$v) { 
		$title_model = $v; 
		$id_model = $k; 
                ?> 
                models[<?php echo $id_brand; ?>][<?php echo $id_model; ?>] = '<?php echo $title_model; ?>'; 
<?php 
} 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				03.05.2017, 19:38
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 denis82, 
ещё раз: на выходе у вас разреженный массив -- при сортировке -- все значения сдвигаются к началу массива - ключи в данном случае не ключи, а индексы массива -- нужны ключи => делайте обьект -- но обьект невозможно отсортировать, но можно как угодно извлечь данные. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |