00001 var baseGet = require('./_baseGet'), 00002 baseSet = require('./_baseSet'), 00003 castPath = require('./_castPath'); 00004 00014 function basePickBy(object, paths, predicate) { 00015 var index = -1, 00016 length = paths.length, 00017 result = {}; 00018 00019 while (++index < length) { 00020 var path = paths[index], 00021 value = baseGet(object, path); 00022 00023 if (predicate(value, path)) { 00024 baseSet(result, castPath(path, object), value); 00025 } 00026 } 00027 return result; 00028 } 00029 00030 module.exports = basePickBy;