UNPKG

@queso/pick-by

Version:

Creates an object composed of the object properties for which predicate returns truthy.

27 lines (23 loc) 629 B
'use strict'; /** * Creates an object composed of the object properties for which predicate returns truthy. * @category Object * @param object The source object. * @param predicate The function invoked per property. * @returns The new object. * @example const obj = { a: 0, b: '', c: true, d: 'hello' } pickBy(obj) // => { c: true, d: 'hello' } */ function pickBy(object, predicate = v => v) { return Object.keys(object).reduce((result, key) => { const value = object[key]; if (predicate(value, key)) { result[key] = value; } return result }, {}) } module.exports = pickBy; pickBy.default = module.exports