Метод includes() визначає, чи список містить певний елемент, повертаючи true або false в якості результату.
Синтаксис
var boolean = array.includes(searchElement[, fromIndex])
Параметри
- searchElement
- Елемент, котрий шукається.
- fromIndex
- Опційний. Позиція у цьому списку, з якої починатиметься пошук елемента searchElement. Від'ємне значення шукатиме починаючи з array.length + fromIndex і далі у зворотньому порядку. По замовчуванню дорівнює 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
Polyfill
if (!Array.prototype.includes) {
Array.prototype.includes = function(searchElement /*, fromIndex*/ ) {
'use strict';
var O = Object(this);
var len = parseInt(O.length, 10) || 0;
if (len === 0) {
return false;
}
var n = parseInt(arguments[1], 10) || 0;
var k;
if (n >= 0) {
k = n;
} else {
k = len + n;
if (k < 0) {k = 0;}
}
var currentElement;
while (k < len) {
currentElement = O[k];
if (searchElement === currentElement ||
(searchElement !== searchElement && currentElement !== currentElement)) { // NaN !== NaN
return true;
}
k++;
}
return false;
};
}
Специфікації
| Специфікація | Статус | Коментар |
|---|---|---|
| ECMAScript 2016 (ECMA-262) The definition of 'Array.prototype.includes' in that specification. |
Standard | Початкове визначення. |
| ECMAScript 2017 Draft (ECMA-262) The definition of 'Array.prototype.includes' in that specification. |
Draft |
Браузерна сумісність
| Підтримка | Chrome | Firefox (Gecko) | Internet Explorer | Edge | Opera | Safari |
|---|---|---|---|---|---|---|
| Базова підтримка |
47 |
43 | No support | No support | 34 | 9 |
| Підтримка | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|
| Базова підтримка | No support |
47 |
43 | No support | 34 | 9 |
47 |