| 
 | 
	
	
	
	
	
		
	
		
		
		
			
			 
			
				20.09.2010, 11:32
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 13.09.2010 
					
					
					
						Сообщений: 11
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Вывести циклом числа наиболее компактно
			 
			
		
		
		
		Помогите вывести циклом следующие числа наиболее компактно, одним циклом...ну или как-то корректней, чтобы они были значением одной переменной 
1,2,3,4,5,6,5,4,3,2
 
for(i=0; i<5; i++) document.write(i)
for(i=5; i>2; i--) document.write(i)
  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось сiparis, 20.09.2010 в 13:20.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.09.2010, 13:42
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.01.2010 
					
					
					
						Сообщений: 1,022
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Если вам надо одним циклом, то вот: 
<script type="text/javascript">
	var a = [];
	for ( var i = 0, n = 0; i < 10; i++, n = i > 5 ? n - 1 : n + 1 ) a.push( n );
	alert( a );
</script>
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				20.09.2010, 13:59
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.03.2010 
					
					
					
						Сообщений: 1,618
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Только n = 1   
<script type="text/javascript">
var a = [];
for ( var i = 0, n = 1; i < 10; i++, n = i > 5 ? --n : ++n ) a.push( n );
document.write( a );
</script>
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.09.2010, 05:51
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		ещё вариант для любых других подобных последовательностей )))  
<script language="JavaScript" type="text/javascript">
function foo(c) {
    for (var a = [], b = 1; b <= c; b++) a[a.length] = b;
    if (a.length > 2) a = a.concat(a.slice(1, a.length - 1).reverse());
    return a
};
document.write(foo(1)+'<br />');
document.write(foo(2)+'<br />');
document.write(foo(3)+'<br />');
document.write(foo(4)+'<br />');
document.write(foo(5)+'<br />');
document.write(foo(6)+'<br />');
document.write(foo(7)+'<br />');
</script>
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось рони, 21.09.2010 в 05:54.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.09.2010, 13:41
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.01.2010 
					
					
					
						Сообщений: 1,022
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Можно короче и понятнее: 
<script type="text/javascript">
	function foo( a ) {
		var p = [];
			for ( var i = 1, n = 1; n < a * 2; n < a ? i++ : i--, n++ ) {
				p.push( i );
			}
		return p;
}
	document.write( foo( 10 ) );
</script>
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.09.2010, 15:57
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 16.03.2010 
					
					
					
						Сообщений: 1,618
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от рони
			
		
	 | 
 
	| 
		ещё вариант для любых других подобных последовательностей
	 | 
 
	
 
 Для  любых других последовательностей можно так   
<script>
Array.prototype.increment = function(){
  var count = arguments[0]
  while(count--) this.push(this[this.length-1] + 1)
  return this
}
Array.prototype.decrement = function(){
  var count = arguments[0]
  while(count--) this.push(this[this.length-1] - 1)
  return this
}
var a = [1], b = [2]
a.increment(5).decrement(4)
document.write('Для ТС: '+a)
document.write('<br>Просто: '+b.decrement(5).increment(10).decrement(5))
</script>
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |