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,126
|
|
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,126
|
|
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,126
|
|
Сообщение от s4meone
|
Например: 50, 49, 48, ... , 1
|
<script>
let length = 50;
const arr = Array.from({length}, _ => length--);
document.write(JSON.stringify(arr, "", 4))
</script>
|
|
|
|