$ npm install dash-get
A tiny get function', similar to Lodash.get
Add dash-get
to your project via npm install
:
npm install --save dash-get
You can easily retrieve a value from a (deeply) nested object with dash-get
, like so:
import get from 'dash-get'
const someObject = {...}
const deeplyNestedValue = get(someObject, 'the.path.to.the.nested.value')
// value
The path could also be an Array
:
const someObject = {...}
const deeplyNestedValue = get(someObject, ['the', 'path', 'to', 'the', 'nested', 'value'])
// value
get(obj, path, fallback)
Argument | Type | Description |
---|---|---|
obj | Object |
The object to get the value from. |
path | Array<string> /string |
The path to the value. |
fallback | any |
The fallback value, in case the desired value could not be retrieved. |
This module does not support this particular use case:
get(object, 'a[0].b.c')
You totally don't have to npm install
this. This exists for convenience purposes 😊.
In fact, it's encouraged that you add the get
code to your code base! One less depenency to install and manage.
Here it is!
function get(obj, path, fallback) {
if (!obj || !path) return fallback;
const paths = Array.isArray(path) ? path : path.split(".");
let results = obj;
let i = 0;
while (i < paths.length && results !== undefined && results !== null) {
results = results[paths[i]];
i++;
}
if (i === paths.length) {
return results !== undefined ? results : fallback;
}
return results !== undefined && results !== null ? results : fallback;
}
Thanks to @knicklabs for pairing with me on this one!
© 2010 - cnpmjs.org x YWFE | Home | YWFE