00001 var arrayMap = require('./_arrayMap'), 00002 baseIteratee = require('./_baseIteratee'), 00003 basePickBy = require('./_basePickBy'), 00004 getAllKeysIn = require('./_getAllKeysIn'); 00005 00024 function pickBy(object, predicate) { 00025 if (object == null) { 00026 return {}; 00027 } 00028 var props = arrayMap(getAllKeysIn(object), function(prop) { 00029 return [prop]; 00030 }); 00031 predicate = baseIteratee(predicate); 00032 return basePickBy(object, props, function(value, path) { 00033 return predicate(value, path[0]); 00034 }); 00035 } 00036 00037 module.exports = pickBy;