Как добавить элемент в массив JavaScript по условию?

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

Учебное пособие по определению массива JavaScript с условно добавляемыми в него элементами.

Иногда мы хотим условно добавить элементы в массив JavaScript. В этой статье мы рассмотрим, как определить массив JavaScript с условно добавленными в него элементами.

Использование оператора распыления (spread, ...)

Мы можем использовать оператор spread для распыления массива в другой массив. Например, мы можем написать:
const items = [
  'foo',
  ...true ? ['bar'] : [],
  ...false ? ['falsy'] : [],
]
console.log(items)
Тогда items будет ["foo", "bar"], так как у нас есть тернарное выражение, в котором false является значением условной части тернарного выражения. Если оно истинно, то содержимое массива после ? попадет в items. В противном случае в items будут помещены элементы пустого массива.

Вызов Array.prototype.push по условию

Еще один способ добавить элементы в массив JavaScript по условию - использовать метод push. Например, мы можем написать:
const items = [
  'foo',
]
if (true) {
  items.push("bar");
}
if (false) {
  items.push("false");
}
console.log(items)
Тогда 'bar' добавляется к элементам, а 'false' - нет. Это происходит потому, что первое условное значение имеет условие true, а второе - false. Поэтому items снова будет ["foo", "bar"].

Итоги

Мы можем распылять (spread) элементы в массив по условию с помощью оператора spread. Также мы можем вызывать push для добавления элементов в массив JavaScript по условию if/else.

Как создать рандомное целое число в 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, ...