Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.06.2020, 16:59
Интересующийся
Отправить личное сообщение для s4meone Посмотреть профиль Найти все сообщения от s4meone
 
Регистрация: 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)];

Не могли бы помочь?
Ответить с цитированием
  #2 (permalink)  
Старый 15.06.2020, 17:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Это сразу создаст массив только из четных чисел

const arr = Array.from(Array(25), (x=2, i) => x + i * 2);
Ответить с цитированием
  #3 (permalink)  
Старый 15.06.2020, 19:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

s4meone,
<script>
var randnum = _ => 2 * (Math.random()*25|0 + 1);
for (var i = 0; i < 34; i++) {
document.write(`${randnum()},`)
}
  </script>
Ответить с цитированием
  #4 (permalink)  
Старый 15.06.2020, 22:33
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

var randNum = _ => Math.random()*51 & -2;

вариант от 0 до 50

Последний раз редактировалось Vlasenko Fedor, 15.06.2020 в 22:42.
Ответить с цитированием
  #5 (permalink)  
Старый 15.06.2020, 23:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Vlasenko Fedor,
Ответить с цитированием
  #6 (permalink)  
Старый 16.06.2020, 08:03
Интересующийся
Отправить личное сообщение для s4meone Посмотреть профиль Найти все сообщения от s4meone
 
Регистрация: 07.06.2020
Сообщений: 15

а не подскажете, как можно сделать массив от N до 1? Например: 50, 49, 48, ... , 1
Ответить с цитированием
  #7 (permalink)  
Старый 16.06.2020, 09:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от 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.
Ответить с цитированием
  #8 (permalink)  
Старый 16.06.2020, 10:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертация в массив Alex1233 Общие вопросы Javascript 12 13.05.2015 12:04
Массив из PHP в JS Spayn Общие вопросы Javascript 2 29.07.2014 11:26
Как в шаблоне диррективы узнать массив это или строка? delias Angular.js 1 18.03.2014 07:33
Отправить, когда четко соберется массив vas88811 Events/DOM/Window 11 26.02.2014 21:55
Массив объектов doox911 Библиотеки/Тулкиты/Фреймворки 6 16.01.2014 22:36