Build Status node Test Coverage bitHound Score
One of the smallest (28 sloc) and most effective implementations of object properties deep picking.
$ npm install pick-deep --save
const pick = require('pick-deep'); pick({ a: { b: ['c', 'd'], e: 'f' } }, 'a.b'); pick({ a: { b: ['c', 'd'], e: 'f' } }, ['a.b']); pick({ a: { b: ['c', 'd'], e: 'f' } }, [['a', 'b']]); //=> { a: { b: ['c', 'd'] }} pick({ a: { b: ['c', 'd'], e: 'f' }, j: { k: 'l' }, q: { r: ['s', 't'], u: 'w' }}, [['a', 'b'], 'j', 'q.u']); //=> { a: { b: ['c', 'd'] }, j: { k: 'l' }, q: { u: 'w' }} pick({ a: { b: 'c' } }, 'a.b.c.d'); //=> {} pick({ a: { b: 'c' } }, 'a:b', ':'); //=> { a: { b: 'c' }}
- obj (Object) - Source object.
- paths (String|Array|Array of Arrays) - String, array or array of arrays with paths.
- [separator] (String) -
.by default.
- @strikeentco/get - One of the smallest and most effective implementations of getting a nested value from an object.
- @strikeentco/set - One of the smallest and most effective implementations of setting a nested value on an object.
The MIT License (MIT)
Copyright (c) 2018 Alexey Bystrov