18 lines
346 B
Plaintext
18 lines
346 B
Plaintext
'use strict';
|
|
module.exports = function (obj, predicate) {
|
|
var ret = {};
|
|
var keys = Object.keys(obj);
|
|
var isArr = Array.isArray(predicate);
|
|
|
|
for (var i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
var val = obj[key];
|
|
|
|
if (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {
|
|
ret[key] = val;
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
};
|