MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Сводка

Метод 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 Нет 14 34 9
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка Нет Нет 43 Нет 34 9

Смотрите также

Метки документа и участники

 Внесли вклад в эту страницу: Setol, burashka, jwhitlock, Mingun, fscholz
 Обновлялась последний раз: Setol,