Array.prototype.includes() - JavaScript 编辑
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.
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
valueToFind
The value to search for.
Note: When comparing strings and characters,
includes()
is case-sensitive.fromIndex
Optional- The position in this array at which to begin searching for
valueToFind
. - The first element to be searched is found at
fromIndex
for positive values offromIndex
, or atarr.length + fromIndex
for negative values offromIndex
(using the absolute value offromIndex
as 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
BCD tables only load in the browser
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论