shim.js
539 Bytes
"use strict";
var callable = require("../../../object/valid-callable")
, ensureValue = require("../../../object/valid-value")
, some = Array.prototype.some
, apply = Function.prototype.apply;
module.exports = function (predicate/*, thisArg*/) {
var k, self;
self = Object(ensureValue(this));
callable(predicate);
return some.call(
self,
function (value, index) {
if (apply.call(predicate, this, arguments)) {
k = index;
return true;
}
return false;
},
arguments[1]
)
? k
: -1;
};