JavaScript для тупых
  • JavaScript для тупых
  • Главная
  • Об учебнике
  • Формат обучения
  • Ввод в JavaScript. Что это? И для чего нужен?
  • Братки JavaScript-а
  • Переменные в JavaScript
  • Переменные. const, let, var
  • Преобразование типов
  • Операторы сравнения
  • Типы данных. Number
  • Типы данных. String
  • Типы данных. Boolean
  • Типы данных. null и undefined
  • Типы данных. Оператор typeof
  • Условные операторы: if и ?
  • Циклы: while, for
  • Операторы
  • Логические операторы
  • Знакомство с switch
  • Функции
  • Функции. Возврат значения
  • Стрелочные функции
  • Знакомство с DOM
  • DOM-элементы. Получение объектов
  • DOM-элементы. События. Ввод.
  • DOM-элементы. События. Часть 2
  • Объекты. Начало игры
  • Массивы
  • Методы массивов: splice, slice, concat
  • Методы массивов: find, findIndex, filter
  • Методы массивов: map, sort
  • Методы массивов: reverse, split, join
  • Методы массивов: indexOf, lastIndexOf, includes
  • Методы массивов: reduce, spread
  • Методы массивов: Array.isArray, some, every
  • Методы массивов: flat, fill
  • Планирование вызова функции: setTimeout
  • Планирование вызова функции: setInterval
  • Объекты. Свойства.
  • Объекты. Методы
  • this, call, apply, bind
  • Замыкания
  • Прототипы
  • Promises (Обещания)
Powered by GitBook
On this page

Was this helpful?

Методы массивов: Array.isArray, some, every

JavaScript простым языком

PreviousМетоды массивов: reduce, spreadNextМетоды массивов: flat, fill

Last updated 4 years ago

Was this helpful?

Метод Array.isArray

Порой требуется понять, являются ли данные, которые, например, пришли с сервера – массивом. Как мы можем это узнать? Существует оператор typeof, но в JavaScript нет отдельного типа для массивов. JavaScript не различает массив от объекта: для него и то и другое – объекты. Но задачу как-то надо решать, именно для этого и существует статический метод isArray в объекте Array.

const obj = {name: 'Толян'};
const arr = [1, 2, 3];

Array.isArray(arr); // true
Array.isArray(obj); // false

Метод some

Представим, что у тебя есть массив чисел. При этом, предположим, что на момент работы с массивом ты точно не знаешь, какими числами он заполнен.

И тебе нужно узнать, что в массиве есть хотя бы один элемент, который можно разделить на 2 и полученное значение будет больше, либо равно 10.

В голову может прийти множество вариантов решений. Но метод some подойдет здесь намного лучше:

const numbers = [20, 45, 12, -4, 5, 7];

const has = numbers.some(n => (n/2) >= 10);

has; // true

В данном случае под наше условие подойдет даже 2 числа: 20 и 45, поэтому метод выдаст нам true.

Метод every

Метод every похож на метод some. Но, по названию должно быть понятно, что метод every вернет true только в том случае, если все элементы массива подходят под заданное условие.

Давай проверим каждый элемент массива на условие: каждый элемент делится на 2 и полученное значение больше или равно 10.

const numbers = [20, 30, 40];
const otherNumbers = [20, 10, 40];

const hasInNumbers = numbers.every(n => (n/2) >= 10);
const hasInOtherNumbers = otherNumbers.every(n => (n/2) \
>= 10);

hasInNumbers; // true
hasInOtherNumbers; // false

Все элементы массива numbers подходят под условие – поэтому метод every выдает нам значение true.

А вот в массиве otherNumbers под условие не подходит значение 10, поэтому every возвратит – false.

Generic badge