You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
540 B
26 lines
540 B
"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; |
|
};
|
|
|