every.js 465 B

123456789101112131415
  1. var safeCb = require('./safeCb');
  2. var isArrLike = require('./isArrLike');
  3. var keys = require('./keys');
  4. exports = function(obj, predicate, ctx) {
  5. predicate = safeCb(predicate, ctx);
  6. var _keys = !isArrLike(obj) && keys(obj);
  7. var len = (_keys || obj).length;
  8. for (var i = 0; i < len; i++) {
  9. var curKey = _keys ? _keys[i] : i;
  10. if (!predicate(obj[curKey], curKey, obj)) return false;
  11. }
  12. return true;
  13. };
  14. module.exports = exports;