Web/JavaScript/Reference/Global objects/Array/includes
The includes() method determines whether an array includes a certain value among its entries, returning true or false as appropriate.
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.
Syntax
arr.includes(valueToFind[, fromIndex])
Parameters
valueToFindThe value to search for.
Note: When comparing strings and characters,
includes()is case-sensitive.fromIndexOptional- The position in this array at which to begin searching for
valueToFind. - The first element to be searched is found at
fromIndexfor positive values offromIndex, or atarr.length + fromIndexfor negative values offromIndex(using the absolute value offromIndexas the number of elements from the end of the array at which to start the search). - Defaults to
0.
Return value
A Boolean which is true if the value valueToFind is found within the array (or the part of the array indicated by the index fromIndex, if specified).
Values of zero are all considered to be equal, regardless of sign. (That is, -0 is considered to be equal to both 0 and +0), but false is not considered to be the same as 0.
Note: Technically speaking, includes() uses the sameValueZero algorithm to determine whether the given element is found.
Examples
[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 is greater than or equal to the array length
If fromIndex is greater than or equal to the length of the array, false is returned. The array will not be searched.
let arr = ['a', 'b', 'c']
arr.includes('c', 3) // false
arr.includes('c', 100) // false
Computed index is less than 0
If fromIndex is negative, the computed index is calculated to be used as a position in the array at which to begin searching for valueToFind. If the computed index is less or equal than -1 * arr.length, the entire array will be searched.
// array length is 3
// fromIndex is -100
// computed index is 3 + (-100) = -97
let 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() used as a generic method
includes() method is intentionally generic. It does not require this value to be an Array object, so it can be applied to other kinds of objects (e.g. array-like objects).
The example below illustrates includes() method called on the function's arguments object.
(function() {
console.log(Array.prototype.includes.call(arguments, 'a')) // true
console.log(Array.prototype.includes.call(arguments, 'd')) // false
})('a','b','c')
Please do not add polyfills on reference articles. For more details and discussion, see https://discourse.mozilla.org/t/mdn-rfc-001-mdn-wiki-pages-shouldnt-be-a-distributor-of-polyfills/24500
Specifications
| Specification |
|---|
| ECMAScript (ECMA-262)The definition of 'Array.prototype.includes' in that specification. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| 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 47 |
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 5.0 |
nodejs Full support 6.0.0 Full support 6.0.0 Full support 5.0.0 Disabled' From version 5.0.0: this feature is behind the |
Legend
- Full support
- Full support
- No support
- No support
- User must explicitly enable this feature.'
- User must explicitly enable this feature.
See also
TypedArray.prototype.includes()String.prototype.includes()Array.prototype.indexOf()Array.prototype.find()Array.prototype.findIndex()
Array.prototype.includes() by Mozilla Contributors is licensed under CC-BY-SA 2.5.