返回满足回调函数中指定的测试条件的第一个数组元素的索引值。
## 语法
~~~
arrayObj.findIndex(callbackfn [, thisArg]);
~~~
## 参数
|参数|定义|
|--|--|
|arrayObj|必需。数组对象。|
|callbackfn|必需。用于测试数组中的每个元素的回调函数。|
|thisArg|可选。指定回调函数中的 this 对象。如果未指定,则未定义 this 对象。|
## 备注
对于数组中的每个元素,findIndex 方法都会调用一次回调函数(采用升序索引顺序),直到有元素返回 true。只要有一个元素返回 true,findIndex 立即返回该返回 true 的元素的索引值。如果数组中没有任何元素返回 true,则 findIndex 返回 -1。
findIndex 不会改变数组对象。
### 回调函数语法
回调函数的语法如下所示:
~~~
function callbackfn(value, index, thisArg)
~~~
你可使用最多三个参数来声明回调函数。
回调函数的参数如下所示。
|回调参数|定义|
|--|--|
|Value|数组元素的值。|
|index|数组元素的数字索引。|
|arrayObj|要遍历的数组对象。|
在下面的示例中,回调函数测试数组中的每个元素是否都等于 2。
~~~
[1,2,3].findIndex(function(x) { x == 2; });
// Returns an index value of 1.
~~~
下面的示例使用箭头语法来测试每个元素。在此示例中,没有任何元素返回 true,findIndex 返回 -1。
~~~
[1,2,3].findIndex(x => x == 4);
// Returns an index value of -1.
~~~
- ActiveXObject对象
- Array对象
- constructor属性
- length属性
- prototype属性
- Array.from函数
- Array.isArray函数
- Array.of函数
- concat方法
- entries方法
- every方法
- fill方法
- filter方法
- findIndex方法
- forEach方法
- indexOf方法
- join方法
- keys方法
- lastIndexOf方法
- map方法
- pop方法
- push方法
- reduce方法
- reduceRight方法
- reverse方法
- shift方法
- slice方法
- some方法
- sort方法
- splice方法
- toString方法
- unshift方法
- valueOf方法
- values方法
- ArrayBuffer对象
- byteLength属性
- ArrayBuffer.isView函数
- slice方法
- arguments对象
- 0...n 属性(参数)
- callee 属性(参数)
- length 属性 (arguments)
- Boolean对象
- constructor 属性(布尔值)
- prototype 属性(布尔值)
- toString 方法 (Boolean)
- valueOf 方法 (Boolean)
- DataView对象
- buffer属性 (DataView)
- byteLength属性(DataView)
- byteOffset属性(DataView)
- getInt8方法(DataView)
- getUint8方法(DataView)
- getInt16方法(DataView)
- getUint16方法(DataView)
- getInt32方法(DataView)
- getUint32方法(DataView)
- getFloat32方法(DataView)
- getFloat64方法(DataView)
- setInt8方法(DataView)
- setUint8方法(DataView)
- setInt16方法(DataView)
- setUint16方法(DataView)
- setInt32方法(DataView)
- setUint32方法(DataView)
- setFloat32方法(DataView)
- setFloat64方法(DataView)
- Date对象
- Debug对象
- Enumerator对象
- Error对象
- Float32Array对象
- Float64Array对象
- Function对象
- Global对象
- Int8Array对象
- Int16Array对象
- Int32Array对象
- Intl.Collator对象
- Intl.DateTimeFormat对象
- Intl.NumberFormat对象
- JSON对象
- Map对象
- Math对象
- Number对象
- Object对象
- Promise对象
- 代理对象
- Reflect对象
- RegExp对象
- 正则表达式对象
- Set对象
- String对象
- 符号对象
- Uint8Array对象
- Uint8ClampedArray对象
- Uint16Array对象
- Uint32Array对象
- VBArray对象
- WeakMap对象
- WeakSet对象
- WinRTError对象