1234567891011121314151617181920212223242526 |
- 'use strict';
- module.exports = function (arr, predicate, ctx) {
- if (typeof Array.prototype.findIndex === 'function') {
- return arr.findIndex(predicate, ctx);
- }
-
- if (typeof predicate !== 'function') {
- throw new TypeError('predicate must be a function');
- }
-
- var list = Object(arr);
- var len = list.length;
-
- if (len === 0) {
- return -1;
- }
-
- for (var i = 0; i < len; i++) {
- if (predicate.call(ctx, list[i], i, list)) {
- return i;
- }
- }
-
- return -1;
- };
|