 
			
				26.01.2017, 16:28
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.01.2017 
					
					
					
						Сообщений: 3
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Попарно поменять местами числа массива
			 
			
		
		
		
		Добрый день друзья! 
Прошу подсказки !  
var	newNums= [1,2,3,4,5,6,7,8,9,10,11,12], 
	i, 
	result ="",  
	summa =0; 
 
необходим результат [3,4,1,2,7,8,5,6,11,12,9,10] 
	 
Подскажите куда смотреть?  
Спасибо 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.01.2017, 16:40
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Leviko
			
		
	 | 
 
	| 
		Подскажите куда смотреть?
	 | 
 
	
 
 Циклы... Массивы...  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.01.2017, 16:51
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Leviko
			
		
	 | 
 
	
		
var	newNums= [1,2,3,4,5,6,7,8,9,10,11,12]
 , 
необходим результат 
[3,4,1,2,7,8,5,6,11,12,9,10]
 
	 | 
 
	
 
 Или добей препода таким ответом.    
var arr=[1,2,3,4,5,6,7,8,9,10,11,12];
var val=arr.toString();
val=val.replace(/(\d+),(\d+),(\d+),(\d+)/g,'$3,$4,$1,$2');
arr=val.split(',');
alert(arr);
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось ksa, 26.01.2017 в 16:54.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.01.2017, 16:57
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.01.2017 
					
					
					
						Сообщений: 3
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Ох епт... страшно, как-то смотрится... 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.01.2017, 16:59
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.01.2017, 17:50
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Leviko,
  
var newNums= [1,2,3,4,5,6,7,8,9,10,11,12];
var result = newNums.map(function(el, i, arr) {
  return  i % 4 < 2 ? arr[i + 2] : arr[i - 2];
});
alert(result);
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.01.2017, 20:19
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.01.2017 
					
					
					
						Сообщений: 3
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Спасибо! 
 
Решил вот так : 
for(i=0; i<newNums.length; i+=2){ 
  tmp = newNums[i]; 
  newNums[i] = newNums[i+1]; 
  newNums[i+1] = tmp 
} 
console.log(newNums); 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				27.01.2017, 13:46
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.11.2015 
					
					
					
						Сообщений: 2,899
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Leviko, 
Незачет. 
Результат не такой, как в задании.
 
var	newNums= [1,2,3,4,5,6,7,8,9,10,11,12],
i, tmp;
for(i=0; i<newNums.length; i+=2){
tmp = newNums[i];
newNums[i] = newNums[i+1];
newNums[i+1] = tmp
}
alert(newNums);
А вот такой, как надо
 
var	newNums= [1,2,3,4,5,6,7,8,9,10,11,12],
i, result = [];
for(i=0; i<newNums.length; i+=4){
result.push( newNums[i + 2], newNums[i + 3], newNums[i],newNums[i+1]);
}
alert(result);
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Dilettante_Pro, 27.01.2017 в 13:52.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |