Array.prototype.includes()

Метод includes() з'ясовує, чи масив містить елемент із вказаним значенням, та вертає відповідно true або false.

Синтаксис

arr.includes(valueToFind[, fromIndex])

Параметри

valueToFind
Значення елемента, який слід знайти.

Примітка: При порівнянні рядків та літер, includes() чутливий до регістру.

fromIndex Optional
Позиція у масиві, з якої потрібно починати пошук valueToFind; перша літера шукатиметься за індексом fromIndex, якщо fromIndex є позитивним значенням, або за індексом array.length + fromIndex, якщо fromIndex від'ємний (використовуючи абсолютну величину fromIndex як кількість літер з кінця масиву, де потрібно починати пошук). За замовчуванням дорівнює 0.

Вертає

Значення Boolean, яке дорівнює true, якщо значення valueToFind знайдене у масиві (або у частині масиву, якщо заданий параметр fromIndex). Всі нульові значення вважаються рівними, незалежно від знаку (тому -0 вважатиметься рівним і 0, і +0), але false не вважається тим самим, що й 0.

Примітка: Технічно кажучи, includes() використовує алгоритм sameValueZero для визначення того, чи знайдено заданий елемент.

Приклади

[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

fromIndex більший або дорівнює довжині масиву

Якщо fromIndex дорівнює або перевищує довжину масиву, пошук не здійснюється й завжди вертається false:

var arr = ['a', 'b', 'c'];

arr.includes('c', 3);    // вертає false
arr.includes('c', 100);  // вертає false

Обчислений індекс менший за 0

Якщо значення fromIndex від'ємне, використовується обчислений індекс для визначення позиції, з якої починати пошук valueToFind у масиві. Якщо обчислений індекс менший або дорівнює -1 * array.length, пошук здійснюється у всьому масиві.

// Довжина масиву дорівнює 3
// fromIndex дорівнює -100
// Обчислений індекс дорівнює 3 + (-100) = -97

var 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() як загального метода

Реалізація метода includes() є зумисне узагальненою. Об'єкт, на який вказує this, не обов'язково повинен належати до класу Array, тож використання includes() можна поширити на інші масивоподібні об'єкти. В наведеному нижче прикладі його застосовано до об'єкта arguments:

(function() {
  console.log([].includes.call(arguments, 'a'));  // виводить true
  console.log([].includes.call(arguments, 'd'));  // виводить false
})('a','b','c');

Специфікації

Підтримка веб-переглядачами

BCD tables only load in the browser

Див. також