Skip to content

Instantly share code, notes, and snippets.

@jeneg
Last active December 21, 2023 17:00
Show Gist options
  • Star 34 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save jeneg/9767afdcca45601ea44930ea03e0febf to your computer and use it in GitHub Desktop.
Save jeneg/9767afdcca45601ea44930ea03e0febf to your computer and use it in GitHub Desktop.
Alternative to lodash get method _.get()
function get(obj, path, def) {
var fullPath = path
.replace(/\[/g, '.')
.replace(/]/g, '')
.split('.')
.filter(Boolean);
return fullPath.every(everyFunc) ? obj : def;
function everyFunc(step) {
return !(step && (obj = obj[step]) === undefined);
}
}
@SupremeTechnopriest
Copy link

Maybe I will maintain a benchmark for this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment