✊ (dash) get
A tiny get function', similar to Lodash.get
✨ Features
- Zero dependencies!
- Super tiny, at ~200 bytes gzipped
- Works almost exactly like Lodash.get
- Ultra speedy! Check out the performance tests
🔧 Installation
Add dash-get
to your project via npm install
:
npm install --save dash-get
🕹 Usage
You can easily retrieve a value from a (deeply) nested object with dash-get
, like so:
const someObject = ... const deeplyNestedValue = // value
The path could also be an Array
:
const someObject = ... const deeplyNestedValue = // value
🎬 API
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. |
👻 Unsupported feature
This module does not support this particular use case:
get(object, 'a[0].b.c')
🤔 Why an npm module tho?
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!
{ if !obj || !path return fallback; const paths = Array ? path : path; let results = obj; let i = 0; while i < pathslength && results !== undefined && results !== null results = resultspathsi; i++; if i === pathslength return results !== undefined ? results : fallback; return results !== undefined && results !== null ? results : fallback;}
❤️ Thanks
Thanks to @knicklabs for pairing with me on this one!