--- title: Array.prototype.includes() slug: Web/JavaScript/Reference/Global_Objects/Array/includes tags: - Array - JavaScript - Method - Prototype - polyfill - Довідка - Масив translation_of: Web/JavaScript/Reference/Global_Objects/Array/includes ---
Метод includes()
з'ясовує, чи масив містить елемент із вказаним значенням, та вертає відповідно true
або false
.
{{EmbedInteractiveExample("pages/js/array-includes.html")}}
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()
чутливий до регістру.
valueToFind
; перша літера шукатиметься за індексом fromIndex
, якщо fromIndex
є позитивним значенням, або за індексом array.length + fromIndex
, якщо fromIndex
від'ємний (використовуючи {{interwiki("wikipedia", "Модуль_(математика)", "абсолютну величину")}} fromIndex
як кількість літер з кінця масиву, де потрібно починати пошук). За замовчуванням дорівнює 0.Значення {{jsxref("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
Якщо значення 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()
можна поширити на інші масивоподібні об'єкти. В наведеному нижче прикладі його застосовано до об'єкта {{jsxref("Functions/arguments", "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
Специфікація | Статус | Коментар |
---|---|---|
{{SpecName('ESDraft', '#sec-array.prototype.includes', 'Array.prototype.includes')}} | {{Spec2('ESDraft')}} | |
{{SpecName('ES7', '#sec-array.prototype.includes', 'Array.prototype.includes')}} | {{Spec2('ES7')}} | Початкова виознака. |
{{Compat("javascript.builtins.Array.includes")}}