findIdx.js 352 B

1234567891011121314
  1. var safeCb = require('./safeCb');
  2. exports = function(arr, predicate, ctx, dir) {
  3. dir = dir || 1;
  4. predicate = safeCb(predicate, ctx);
  5. var len = arr.length;
  6. var i = dir > 0 ? 0 : len - 1;
  7. while (i >= 0 && i < len) {
  8. if (predicate(arr[i], i, arr)) return i;
  9. i += dir;
  10. }
  11. return -1;
  12. };
  13. module.exports = exports;