1234567891011121314151617181920212223242526 |
- var isStr = require('./isStr');
- var isArr = require('./isArr');
- var contain = require('./contain');
- var each = require('./each');
- exports = function(obj, filter, omit) {
- if (isStr(filter)) filter = [filter];
- if (isArr(filter)) {
- var keys = filter;
- filter = function(val, key) {
- return contain(keys, key);
- };
- }
- var ret = {};
- var iteratee = function(val, key) {
- if (filter(val, key)) ret[key] = val;
- };
- if (omit) {
- iteratee = function(val, key) {
- if (!filter(val, key)) ret[key] = val;
- };
- }
- each(obj, iteratee);
- return ret;
- };
- module.exports = exports;
|