Как создать рандомное целое число в JavaScript

2 года назад·1 мин. на чтение

Часто требуется создать случайное число в JavaScript. В этой статье напишем простую функцию, которая выводит рандомное число из заданного диапазона.

Эта функция выводит рандомное целое число из диапазона. Первое число диапазона включается, конечное - не включается. min и max - целые числа.
// [min, max)
const getRandomInt = (min, max) => {
  return Math.floor(Math.random() * (max - min) + min);
};
Например, если требуется получить рандомное число 1,2,3,...100, то вызов будет выглядеть таким образом:
console.log(getRandomInt(1, 101)) // 5, 31, 17, 89, ...

Как создать массив, заполненный числами в JavaScript

2 года назад·1 мин. на чтение

Иногда нужно создать массив заполненный числами в JavaScript или создать массив от 1 до определённого числа. В этой статье содержится короткий ответ для быстрого решения.

Короткое решение

Для получения массива чисел от 0 до N, можно воспользоваться методом массива from.
Array.from({ length: 10 }, (_, i) => i) // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Более универсальный способ в виде функции

length - длина массива. fn - функция для кастомизации элемента. Т.к. числа по умолчанию начинаются с нуля, мы можем передать i => i + 1 и получить массив от 1 до N, как в примере ниже.
const getNumbers = (length, fn = i => i) => {
  return Array.from({ length }, (_, i) => fn(i))
}
Использование
console.log(getNumbers(10, i => i + 1)) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

console.log(getNumbers(10)) // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Реверсированный массив

Здесь в функцию передается не просто length, а length - 1. Это делается для того, чтобы сохранить соглашение, что индексы начинаются с 0. См. пример ниже.
const getNumbersReversed = (length, fn = i => i ) => {
  return Array.from({ length }, (_, i) => fn(length - 1 - i))
}
Использование
console.log(getNumbersReversed(10, i => i + 1)) // [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

console.log(getNumbersReversed(10)) // [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]