object.filter
Version:
Create a new object filtered to have only properties for which the callback returns true.
25 lines (19 loc) • 497 B
JavaScript
/*!
* object.filter <https://github.com/jonschlinkert/object.filter>
*
* Copyright (c) 2014 Jon Schlinkert, contributors.
* Licensed under the MIT License
*/
;
var makeIterator = require('make-iterator');
var forOwn = require('for-own');
module.exports = function filter(o, cb, thisArg) {
cb = makeIterator(cb, thisArg);
var filtered = {};
forOwn(o, function (value, key, o) {
if (cb(value, key, o)) {
filtered[key] = value;
}
});
return filtered;
};