</> Praktum

Главная / JavaScript / Метод Array.includes()

JavaScript · справочник

Метод Array.includes()

includes() возвращает true, если массив содержит указанное значение. Метод удобен для простых строк, чисел и проверки разрешённого набора.

Базовая проверка

Сравнение строгое: строка '2' не равна числу 2. Поиск чувствителен к регистру.

const roles = ['admin', 'editor', 'reader'];
roles.includes('editor'); // true
roles.includes('Editor'); // false

Начальная позиция

Второй аргумент задаёт индекс, с которого начинается поиск. Отрицательное значение отсчитывается от конца массива.

const values = [1, 2, 3, 2];
values.includes(2, 2); // true

Частые ошибки

Практика

Создай список разрешённых расширений файлов и проверь три имени. Нормализуй регистр перед сравнением.

Связанные темы

find() · some() · Строки

Точные проверки с includes

includes отвечает только на вопрос, присутствует ли значение в массиве, и возвращает boolean. Для строк и чисел это обычно самый читаемый вариант. Метод умеет находить NaN, в отличие от indexOf. Второй аргумент задаёт позицию начала поиска; отрицательное значение отсчитывается от конца массива.

Объекты сравниваются по ссылке, а не по содержимому. Новый литерал { id: 1 } не равен похожему объекту в массиве. Для поиска объекта по свойству используй some или find. Если проверка не должна учитывать регистр строк, сначала нормализуй элементы и искомое значение.

Разберём рабочий пример

const roles = ["student", "editor", "admin"];
console.log(roles.includes("admin")); // true

const users = [{ id: 1 }, { id: 2 }];
console.log(users.some(user => user.id === 2)); // true

Не копируй пример вслепую: измени данные, убери одну строку и посмотри, как меняется результат. Такой эксперимент быстрее показывает роль каждой части кода, чем простое чтение.

Проверка перед использованием

  • Нужно получить true или false.
  • Сравниваются примитивы или та же ссылка.
  • Для объектов выбран some или find.
  • Регистр строк обработан явно.

Попробуй в браузере

Измени код и нажми «Запустить». Результат появится ниже.

Ещё в разделе JavaScript