Метод 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');
Будь ласка, не додавайте поліфіли у довідкові статті. Більше інформації дивіться у дискусії https://discourse.mozilla.org/t/mdn-rfc-001-mdn-wiki-pages-shouldnt-be-a-distributor-of-polyfills/24500
Специфікації
| Специфікація | Статус | Коментар |
|---|---|---|
| ECMAScript Latest Draft (ECMA-262) The definition of 'Array.prototype.includes' in that specification. |
Draft | |
| ECMAScript 2016 (ECMA-262) The definition of 'Array.prototype.includes' in that specification. |
Standard | Початкова виознака. |
Підтримка веб-переглядачами
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
includes | Chrome Full support 47 | Edge Full support 14 | Firefox Full support 43 | IE No support No | Opera Full support 34 | Safari Full support 9 | WebView Android Full support Yes | Chrome Android Full support 47 | Firefox Android Full support 43 | Opera Android Full support 34 | Safari iOS Full support 9 | Samsung Internet Android Full support Yes | nodejs
Full support
6.0.0
|
Legend
- Full support
- Full support
- No support
- No support
- User must explicitly enable this feature.
- User must explicitly enable this feature.