 
			
				19.06.2018, 22:35
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от рони
			
		
	 | 
 
	| 
		с новым набором будет иной код ... какое будет тз, такая и будет сортировка, ...
	 | 
 
	
 
 Не много ли случаев?    Писать так уж пользовательскую сортировку сразу, так как с буквенно-цифровыми строками не достаточно только a > b ? 1 : a < b ? -1 : 0.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				19.06.2018, 22:50
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 laimas, 
 бред  какой-то ... я писал выше, что не понимаю ... 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				19.06.2018, 23:02
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.10.2016 
					
					
					
						Сообщений: 1,013
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от j0hnik
			 
		
	 | 
 
	
		Alexandroppolus, 
 может и есть но, с маленьким вроде все логично выводит, а там пытается "хитрить"
	 | 
 
	
 
 да нет никакой хитрости, результат логичный в обоих кейсах. 
сейчас посмотрел в консоли, что выведет
 
var arr = [1, 2, 3, 4, 5, 6];
arr.sort(function(a, b) { console.log(a, b, arr); return 1; })
судя по логу, тут "сортировка вставками". И в callback элементы попадают ровно в той последовательности, в какой изначально друг относительно друга находятся.
 
а если длина более 10, то используется "быстрая сортировка", с перекидываниями элементов туда-сюда, и пары образуются как возрастающие, так и убывающие
 
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
arr.sort(function(a, b) { console.log(a, b, arr); return 1; })
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				19.06.2018, 23:15
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.10.2016 
					
					
					
						Сообщений: 1,013
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 laimas, 
 
не совсем понял, какую мысль ты хочешь донести. 
есть sort, который сортирует элементы как строки, по возрастанию 
для любого другого кейса не обойтись без кастомной функции сравнения 
в чем загвоздка? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.06.2018, 04:03
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Никакого подвоха, но не под каждое же имя файла своя функция. А такого добра много, адреса и т.п. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.06.2018, 04:47
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.12.2016 
					
					
					
						Сообщений: 3,650
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
console.log(["iag12.png", "iq10.png", "img2.png", "img1.png"].sort(function(a, b) {
	var aw = a.match(/\D+/)[0],
	bw = b.match(/\D+/)[0],
	ad = a.match(/\d+/)[0],
	bd = b.match(/\d+/)[0];
  return (aw > bw) - (aw < bw) || (ad-bd) - (bd-ad);
}));
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.06.2018, 05:14
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		j0hnik, 
 ну чего под ответ подгонять    Сразу пишите функцию для натуральной сортировки (хотя для JS это уже давно написано), а данная то опять для этого конкретного случая.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.06.2018, 07:46
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от laimas
			
		
	 | 
 
	| 
		Сразу пишите функцию для натуральной сортировки (хотя для JS это уже давно написано),
	 | 
 
	
 
 можно узнать о чём речь?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.06.2018, 08:08
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от рони
			
		
	 | 
 
	| 
		можно узнать о чём речь?
	 | 
 
	
 
 Достаточно заменить в коде  j0hnik, массив, и пусть это будут например адреса - ["a 10a", "a 1b", "a 2", "a 1"], и не получим желаемого, ибо его код "подогнан" под конкретный вопрос. Что же не написать одну пользовательскую функцию, а не всякий раз новую под конкретный случай? Проблемы когда строка, это числа и буквы ведь давно известна, поэтому и  решения готовые уже давно есть/предлагаются.
 
А если стоит задача сортировки, к примеру, списка файлов, с возможностью сортировки по набору параметров (пусть отсортировать по типу файлов и имени, то есть первичное тип, а в нем уже имена и т.п.), тогда да, это можно считать узко специализированной задачей (ТЗ), заточили под нее скрипт.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.06.2018, 08:51
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от laimas
			
		
	 | 
 
	| 
		 решения готовые уже давно есть/предлагаются.
	 | 
 
	
 
 спасибо  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |