UNPKG

@queso/pick

Version:

Creates an object composed of the picked object properties.

21 lines (19 loc) 500 B
/** * Creates an object composed of the picked `object` properties. * @param object The source object. * @param paths The property paths to pick. * @category Object * @returns A new object composed of the picked `object` properties. * @example const obj = { a: 1, b: 2, c: 3 } pick(obj, 'a', 'c') // => { a: 1, c: 3 } */ export default function pick(object, ...paths) { return paths.reduce((result, key) => { if (key in object) { result[key] = object[key] } return result }, {}) }