Skip to content

Instantly share code, notes, and snippets.

@pc035860
Forked from andrewchilds/deepGet.js
Created May 19, 2024 18:45
Show Gist options
  • Select an option

  • Save pc035860/1e4936e074df9ed68454f8a5f6c16ec8 to your computer and use it in GitHub Desktop.

Select an option

Save pc035860/1e4936e074df9ed68454f8a5f6c16ec8 to your computer and use it in GitHub Desktop.
Simple, standalone, vanilla implementation of lodash.get
/* Implementation of lodash.get function */
function getProp( object, keys, defaultVal ){
keys = Array.isArray( keys )? keys : keys.split('.');
object = object[keys[0]];
if( object && keys.length>1 ){
return getProp( object, keys.slice(1) );
}
return object === undefined? defaultVal : object;
}
/* Implementation of lodash.set function */
function setProp( object, keys, val ){
keys = Array.isArray( keys )? keys : keys.split('.');
if( keys.length>1 ){
object[keys[0]] = object[keys[0]] || {};
return setProp( object[keys[0]], keys.slice(1), val );
}
object[keys[0]] = val;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment