JavaScript метод includes()ECMAScript 2016

JavaScript Array

Определение и применение

JavaScript метод includes()ECMAScript 2016 позволяет определить, содержит ли массив искомый элемент. В случае нахождения элемента метод возвращает логическое значение true, в обратном случае false.


Обращаю Ваше внимание, что основное отличие метода includes()ECMAScript 2016 от метода indexOf() заключается в том, что он возвращает логическое значение (true, или false), а не числовое значение (индекс элемента, или -1, если элемент не найден).


Поддержка браузерами

МетодChrome
Chrome
Firefox
Firefox
Opera
Opera
Safari
Safari
Internet Explorer
IExplorer
Microsoft Edge
Edge
includes()ECMAScript 201647.043.034.09.0Нет14.0

JavaScript синтаксис:

array.includes( searchElement, fromIndex )

Версия JavaScript

ECMAScript 2016 (7th Edition)

Значения параметров

ПараметрОписание
searchElementЗначение, которое требуется найти внутри массива. Обязательное значение.
fromIndexЦелое число, определяющее индекс массива, с которого начинается поиск элемента массива. Необязательное значение, если не указано, то поиск осуществляется с 0 индекса.
Допускается использование отрицательных значений, в этом случае индекс с которого будет произведено сравнение элементов будет расчитан по следующей формуле: length (длина массива) + fromIndex.

Пример использования

var x = [1, 2, 3, "a", "b", "c"]; // инициализируем переменную, содержащую массив

x.includes( "a" ); // возвращаемое значение true
x.includes( "d" ); // возвращаемое значение false (значение не найдено в массиве)
x.includes( "b", 3 ); // возвращаемое значение true
x.includes( 2, 2 ); // возвращаемое значение false (значение не найдено в массиве)
x.includes( 2, 1 ); // возвращаемое значение true
x.includes( "a", -2 ); // возвращаемое значение false (значение не найдено в массиве)
x.includes( "a", -3 ); // возвращаемое значение true

Обратите внимание на то, что если вы ищете внутри массива NaN (Not a number - не число), независимо от наличия возвращаемое значение метода indexOf() будет -1, а метод метод includes()ECMAScript 2016 проверяет фактическое наличие:

var x = [NaN];  // инициализируем переменную, содержащую одно значение NaN

x.indexOf( NaN ); // возвращаемое значение -1 (элемент не найден)
x.includes( NaN ); // возвращаемое значение true (элемент найден)
JavaScript Array