| 
	| 
	
	| 
		
	| 
			
			 
			
				13.07.2015, 15:46
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| ksa, 
 где 6-9 ?
 
var a = [6, 7, 8, 9, 14, 15, 16, 20, 21];
var b=[];
for (var i = 0; i < a.length-1; i+=3) {
	b[b.length]=a[i]+' - '+((a[i+2])? a[i+2]: a[i+1]);
};
alert(b);
 |  |  
	| 
		
	| 
			
			 
			
				13.07.2015, 15:54
			
			
			
		 |  
	| 
		
			|  | CacheVar       |  | 
					Регистрация: 19.08.2010 
						Сообщений: 14,298
					 
		
 |  |  
	| 
	
 
	| Сообщение от рони |  
	| где 6-9 ? |  
	
 Не совсем понял причем тут 6-9...   |  |  
	| 
		
	| 
			
			 
			
				13.07.2015, 16:17
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| ksa,алгоритм должен выдать при 6, 7, 8, 9, 14, 15, 16, 20, 21 => 6-9,14-16,20-21 -- конечно пока ТС это неуточнил
 |  |  
	| 
		
	| 
			
			 
			
				13.07.2015, 16:25
			
			
			
		 |  
	| 
		
			|  | CacheVar       |  | 
					Регистрация: 19.08.2010 
						Сообщений: 14,298
					 
		
 |  |  
	| 
	
 
	| Сообщение от рони |  
	| алгоритм должен выдать при 6, 7, 8, 9, 14, 15, 16, 20, 21 => 6-9,14-16,20-21 |  
	
 Это не следует из варианта ТСа...   |  |  
	| 
		
	| 
			
			 
			
				13.07.2015, 16:27
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 
	
 
	| Сообщение от ksa |  
	| Это не следует из варианта ТСа... |  
	
 да пока это только моё предположение |  |  
	| 
		
	| 
			
			 
			
				13.07.2015, 16:37
			
			
			
		 |  
	| 
		
			|  | CacheVar       |  | 
					Регистрация: 19.08.2010 
						Сообщений: 14,298
					 
		
 |  |  
	| рони, я думал, что ты про 9шт. элементов (их у ТСа 8шт. в примере) ранее писал...    А ты оказывается про 9-ку как значение в том массиве... |  |  
	| 
		
	| 
			
			 
			
				13.07.2015, 16:43
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| ksa,
   |  |  
	| 
		
	| 
			
			 
			
				13.07.2015, 18:04
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Слабоват JS в плане работы с датами, то есть готовых инструментами для работы с этими данными не так и много, а вот на сервере даже пусть и для такой последовательности достаточно всего, включая и работу с интервалами и прочим. Мне так кажется, что проще подготовить необходимое уже на сервере, это не так и обременительно будет.			 Последний раз редактировалось laimas, 13.07.2015 в 18:10.
 |  |  
	| 
		
	| 
			
			 
			
				13.07.2015, 22:05
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 10.07.2015 
						Сообщений: 10
					 
		
 |  |  
	| вставлю еще я 5 копеек    
алгоритм должен пропускать 2 - 1 - 0 ??
 
var arr = [6, 7, 8, 9, 14, 15, 16, 20, 21];
var mas = [];
for(var i = 0, j = 3; i < arr.length; i++, j-=1) { 
  (j > 0) ? mas.push(arr[i] + '-' + arr[i+j]) : j = 3;
  i+=j;
}
alert(mas)
 |  |  
	| 
		
	| 
			
			 
			
				13.07.2015, 23:11
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| silent,
    
var arr = [6,  20, 21];
var mas = [];
for(var i = 0, j = 3; i < arr.length; i++, j-=1) { 
  (j > 0) ? mas.push(arr[i] + '-' + arr[i+j]) : j = 3;
  i+=j;
}
alert(mas)
  
var a = [6,20,21];
    function fn(b) {
    for (var d = [], c, a = 0; a < b.length; a++)
        if (!c && (c = b[a]), void 0 !== b[a + 1] && 1 < b[a + 1] - b[a] || a == b.length - 1) d.push(c + (c == b[a] ? "" : " - " + b[a])), c = !1;
    return d
};
     alert(fn(a))
 |  |  |  |