返回滿足回調函數中指定的測試條件的第一個數組元素的索引值。
## 語法
~~~
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對象