Массив только из четных чисел
Всем привет.
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)]; Не могли бы помочь? |
Это сразу создаст массив только из четных чисел
const arr = Array.from(Array(25), (x=2, i) => x + i * 2); |
s4meone,
<script> var randnum = _ => 2 * (Math.random()*25|0 + 1); for (var i = 0; i < 34; i++) { document.write(`${randnum()},`) } </script> |
var randNum = _ => Math.random()*51 & -2; :) вариант от 0 до 50 |
Vlasenko Fedor,
:thanks: |
а не подскажете, как можно сделать массив от N до 1? Например: 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 |
Цитата:
<script> let length = 50; const arr = Array.from({length}, _ => length--); document.write(JSON.stringify(arr, "", 4)) </script> |
Часовой пояс GMT +3, время: 16:09. |