Spec-Zone.ru › JavaScript

Array.prototype.includes()

Базовая поддержка Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2016 года.

Метод includes() экземпляров Array определяет, содержит ли массив определенное значение среди своих элементов, возвращая true или false соответственно.

Попробуйте

const array = [1, 2, 3];

console.log(array.includes(2));
// Expected output: true

const pets = ["cat", "dog", "bat"];

console.log(pets.includes("cat"));
// Expected output: true

console.log(pets.includes("at"));
// Expected output: false

Синтаксис

includes(searchElement)
includes(searchElement, fromIndex)

Параметры

searchElement
Значение для поиска.
fromIndex Необязательно
Индекс, с которого начинать поиск (нумерация с нуля), преобразованный в целое число.
  • Отрицательный индекс отсчитывается с конца массива — если -array.length <= fromIndex < 0, используется fromIndex + array.length. Однако в этом случае массив все равно просматривается с начала до конца.
  • Если fromIndex < -array.length или fromIndex опущены, используется 0, что приводит к полному просмотру массива.
  • Если fromIndex >= array.length, массив не просматривается и возвращается false.

Возвращаемое значение

Логическое значение, которое равно true, если значение searchElement найдено в массиве (или в той части массива, на которую указывает индекс fromIndex, если он указан).

Описание

Метод includes() сравнивает searchElement с элементами массива, используя алгоритм SameValueZero. Этот алгоритм работает подобно строгому равенству === (где -0 и +0 считаются равными), за исключением того, что NaN считается равным самому себе.

При использовании с разреженными массивами метод includes() обрабатывает пустые слоты так, как если бы они имели значение undefined.

Метод includes() является универсальным. Он ожидает, что значение this будет иметь свойство length и целочисленные ключи свойств.

Примеры

Использование includes()

[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true
["1", "2", "3"].includes(3); // false

fromIndex больше или равен длине массива

Если fromIndex больше или равен длине массива, возвращается false. Массив не будет просмотрен.

const arr = ["a", "b", "c"];

arr.includes("c", 3); // false
arr.includes("c", 100); // false

Вычисленный индекс меньше 0

Если fromIndex отрицателен, вычисляется индекс, который будет использоваться в качестве позиции в массиве, с которой начинать поиск searchElement. Если вычисленный индекс меньше или равен 0, будет просмотрен весь массив.

// array length is 3
// fromIndex is -100
// computed index is 3 + (-100) = -97

const arr = ["a", "b", "c"];

arr.includes("a", -100); // true
arr.includes("b", -100); // true
arr.includes("c", -100); // true
arr.includes("a", -2); // false

Использование includes() в разреженных массивах

Вы можете искать undefined в разреженном массиве и получать true.

console.log([1, , 3].includes(undefined)); // true

Вызов includes() для не-массивных объектов

Метод includes() считывает свойство length объекта this, а затем обращается к каждому свойству, ключ которого является неотрицательным целым числом, меньшим length.

const arrayLike = {
  length: 3,
  0: 2,
  1: 3,
  2: 4,
  3: 1, // ignored by includes() since length is 3
};
console.log(Array.prototype.includes.call(arrayLike, 2));
// true
console.log(Array.prototype.includes.call(arrayLike, 1));
// false

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-array.prototype.includes

Совместимость с браузерами

Desktop Mobile Server
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
includes
47
14
43
34
9
47
43
34
9
5.0
47
9
1.0.0
1.0
6.0.0

См. также

  • Polyfill Array.prototype.includes в core-js
  • es-shims polyfill Array.prototype.includes
  • Руководство по индексированным коллекциям
  • Array
  • Array.prototype.indexOf()
  • Array.prototype.find()
  • Array.prototype.findIndex()
  • TypedArray.prototype.includes()
  • String.prototype.includes()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API