findIndex 方法 (Array)
返回满足回调函数中指定的测试条件的第一个数组元素的索引值。
语法
arrayObj.findIndex(callbackfn [, thisArg]);
参数
arrayObj
必要参数。数组对象。
callbackfn
必要参数。用于测试数组中的每个元素的回调函数。
thisArg
可选参数。指定回调函数中的this对象。如果未指定,则this对象是undefined。
备注
对于数组中的每个元素,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.
必备条件
Microsoft Edge中受支持。应用商店应用(Windows 10 上的 Microsoft Edge)中也受支持。请参阅版本信息。
在以下文档模式中不受支持:怪异模式、Internet Explorer 6 标准模式、Internet Explorer 7 标准模式、Internet Explorer 8 标准模式、Internet Explorer 9 标准模式、Internet Explorer 10 标准模式和 Internet Explorer 11 标准模式。在 Windows 8.1 中不受支持。