Spaces:
Configuration error
Configuration error
; | |
var Call = require('es-abstract/2023/Call'); | |
var Get = require('es-abstract/2023/Get'); | |
var IsCallable = require('es-abstract/2023/IsCallable'); | |
var LengthOfArrayLike = require('es-abstract/2023/LengthOfArrayLike'); | |
var ToBoolean = require('es-abstract/2023/ToBoolean'); | |
var ToObject = require('es-abstract/2023/ToObject'); | |
var ToString = require('es-abstract/2023/ToString'); | |
module.exports = function findIndex(predicate) { | |
var O = ToObject(this); | |
var len = LengthOfArrayLike(O); | |
if (!IsCallable(predicate)) { | |
throw new TypeError('Array#findIndex: predicate must be a function'); | |
} | |
var thisArg = arguments.length > 1 ? arguments[1] : void undefined; | |
var k = 0; | |
while (k < len) { | |
var Pk = ToString(k); | |
var kValue = Get(O, Pk); | |
var testResult = ToBoolean(Call(predicate, thisArg, [kValue, k, O])); | |
if (testResult) { | |
return k; | |
} | |
k += 1; | |
} | |
return -1; | |
}; | |