Opal-Estate-Pro/node_modules/es5-ext/array/#/find-index/shim.js
2019-09-13 11:27:52 +07:00

27 lines
539 B
JavaScript

"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;
};