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
Спецификации
Совместимость с браузерами
| 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 - Руководство по индексированным коллекциям
ArrayArray.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