| 
	| 
	
	| 
		
	| 
			
			 
			
				15.06.2020, 16:59
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 07.06.2020 
						Сообщений: 15
					 
		
 |  |  
	| 
				Массив только из четных чисел
			 Всем привет.  
const arr = new Array(50).fill(0).map((_, i) => i + 1);
 
Вот есть массив, где все числа от 1 до 50. Мне нужно получить такой же массив, но только из четных чисел (2,4,6,..,50) и оттуда же вывести случайный один элемент. Думаю, что случайное число можно вывести так:  
var randnum = arr[Math.floor(Math.random()*arr.length)];
 
Не могли бы помочь? |  |  
	| 
		
	| 
			
			 
			
				15.06.2020, 17:19
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Это сразу создаст массив только из четных чисел 
const arr = Array.from(Array(25), (x=2, i) => x + i * 2);
 |  |  
	| 
		
	| 
			
			 
			
				15.06.2020, 19:14
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| s4meone,
  
<script>
var randnum = _ => 2 * (Math.random()*25|0 + 1);
for (var i = 0; i < 34; i++) {
document.write(`${randnum()},`)
}
  </script>
 |  |  
	| 
		
	| 
			
			 
			
				15.06.2020, 22:33
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 13.03.2013 
						Сообщений: 1,572
					 
		
 |  |  
	| 
var randNum = _ => Math.random()*51 & -2;
   вариант от 0 до 50			 Последний раз редактировалось Vlasenko Fedor, 15.06.2020 в 22:42.
 |  |  
	| 
		
	| 
			
			 
			
				15.06.2020, 23:18
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| Vlasenko Fedor,
   |  |  
	| 
		
	| 
			
			 
			
				16.06.2020, 08:03
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 07.06.2020 
						Сообщений: 15
					 
		
 |  |  
	| а не подскажете, как можно сделать массив от N до 1? Например: 50, 49, 48, ... , 1 |  |  
	| 
		
	| 
			
			 
			
				16.06.2020, 09:38
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
	
 
	| Сообщение от s4meone |  
	| Например: 50, 49, 48, ... , 1 |  
	
 
const arr = Array.from(Array(50), (x=50, i) => x - i);
 
Здесь x задает начальное значение, от которого последовательно вычитается значение текущей итерации. Количество, следовательно и последнее значение массива, задается тут Array(50). Кроме того, если уже есть массив от 1 до N с возрастанием, то получить обратный это развернуть массив - arr.reverse().
 
тут методы массива
https://developer.mozilla.org/ru/doc.../Array/reverse			 Последний раз редактировалось laimas, 16.06.2020 в 09:40.
 |  |  
	| 
		
	| 
			
			 
			
				16.06.2020, 10:01
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 
	
 
	| Сообщение от s4meone |  
	| Например: 50, 49, 48, ... , 1 |  
	
 
<script>
let length = 50;
const arr = Array.from({length}, _ => length--);
document.write(JSON.stringify(arr, "", 4))
  </script>
 |  |  
 
 
 
 |  |