Метод includes()
з'ясовує, чи масив містить елемент із вказаним значенням, та вертає відповідно true
або false
.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Синтаксис
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');
Специфікації
Специфікація | Статус | Коментар |
---|---|---|
ECMAScript (ECMA-262) The definition of 'Array.prototype.includes' in that specification. |
Living Standard | |
ECMAScript 2016 (ECMA-262) The definition of 'Array.prototype.includes' in that specification. |
Standard | Початкова виознака. |
Підтримка веб-переглядачами
BCD tables only load in the browser