filter.js 378 B

123456789101112131415
  1. 'use strict';
  2. var callable = require('./valid-callable')
  3. , forEach = require('./for-each')
  4. , call = Function.prototype.call;
  5. module.exports = function (obj, cb/*, thisArg*/) {
  6. var o = {}, thisArg = arguments[2];
  7. callable(cb);
  8. forEach(obj, function (value, key, obj, index) {
  9. if (call.call(cb, thisArg, value, key, obj, index)) o[key] = obj[key];
  10. });
  11. return o;
  12. };