Сводка
Метод includes() определяет, содержит ли массив определённый элемент, возвращая в зависимости от этого true или false.
Синтаксис
array.includes(searchElement[, fromIndex])
Параметры
searchElement- Искомый элемент.
fromIndex- Необязательный параметр. Позиция в массиве, с которой начинать поиск элемента
searchElement; по умолчанию установлена в 0.
Примеры
[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
Полифилл
if (![].includes) {
Array.prototype.includes = function(searchElement/*, fromIndex*/) {
'use strict';
var O = Object(this);
var len = parseInt(O.length) || 0;
if (len === 0) {
return false;
}
var n = parseInt(arguments[1]) || 0;
var k;
if (n >= 0) {
k = n;
} else {
k = len + n;
if (k < 0) {
k = 0;
}
}
while (k < len) {
var currentElement = O[k];
if (searchElement === currentElement ||
(searchElement !== searchElement && currentElement !== currentElement)
) {
return true;
}
k++;
}
return false;
};
}
Спецификации
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 2016 (ECMA-262) Определение 'Array.prototype.includes' в этой спецификации. |
Стандарт | Initial definition. |
| ECMAScript 2017 Draft (ECMA-262) Определение 'Array.prototype.includes' в этой спецификации. |
Черновик |
Совместимость с браузерами
| Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Edge | Opera | Safari |
|---|---|---|---|---|---|---|
| Базовая поддержка | 47 | 43 | Нет | Нет | 34 | 9 |
| Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Базовая поддержка | Нет | Нет | 43 | Нет | 34 | 9 |