index.js 346 B

1234567891011121314151617
  1. 'use strict';
  2. module.exports = function (obj, predicate) {
  3. var ret = {};
  4. var keys = Object.keys(obj);
  5. var isArr = Array.isArray(predicate);
  6. for (var i = 0; i < keys.length; i++) {
  7. var key = keys[i];
  8. var val = obj[key];
  9. if (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {
  10. ret[key] = val;
  11. }
  12. }
  13. return ret;
  14. };