1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| '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;
| };
|
|