includes()
method determines whether an array includes a certain value among its entries, returning
true
or
false
as appropriate.
arr.includes(valueToFind[, fromIndex])
valueToFind
The value to search for.
注意:
When comparing strings and characters,
includes()
is
case-sensitive
.
fromIndex
可选
valueToFind
.
fromIndex
for positive values of
fromIndex
, or at
arr
.length +
fromIndex
for negative values of
fromIndex
(using the
absolute value
of
fromIndex
as the number of elements from the end of the array at which to start the search).
0
.
A
布尔
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
.
注意:
Technically speaking,
includes()
使用
sameValueZero
algorithm to determine whether the given element is found.
[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
若
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
若
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()
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
对象。
(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
| 规范 |
|---|
|
ECMAScript (ECMA-262)
The definition of 'Array.prototype.includes' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
includes
|
Chrome 47 | Edge 14 | Firefox 43 | IE No | Opera 34 | Safari 9 | WebView Android 47 | Chrome Android 47 | Firefox Android 43 | Opera Android 34 | Safari iOS 9 | Samsung Internet Android 5.0 |
nodejs
6.0.0
|
完整支持
不支持
用户必须明确启用此特征。
TypedArray.prototype.includes()
String.prototype.includes()
Array.prototype.indexOf()
Array.prototype.find()
Array.prototype.findIndex()
Array
Array.from()
Array.isArray()
Array.of()
Array.prototype.concat()
Array.prototype.copyWithin()
Array.prototype.entries()
Array.prototype.every()
Array.prototype.fill()
Array.prototype.filter()
Array.prototype.find()
Array.prototype.findIndex()
Array.prototype.flat()
Array.prototype.flatMap()
Array.prototype.forEach()
Array.prototype.includes()
Array.prototype.indexOf()
Array.prototype.join()
Array.prototype.keys()
Array.prototype.lastIndexOf()
Array.prototype.map()
Array.prototype.pop()
Array.prototype.push()
Array.prototype.reduce()
Array.prototype.reduceRight()
Array.prototype.reverse()
Array.prototype.shift()
Array.prototype.slice()
Array.prototype.some()
Array.prototype.sort()
Array.prototype.splice()
Array.prototype.toLocaleString()
Array.prototype.toSource()
Array.prototype.toString()
Array.prototype.unshift()
Array.prototype.values()
Array.prototype[@@iterator]()
get Array[@@species]
Function
Object
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.hasOwnProperty()
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()
Object.prototype.toLocaleString()
Object.prototype.toSource()
Object.prototype.toString()
Object.prototype.valueOf()
Object.setPrototypeOf()