DEV Community

machy44
machy44

Posted on

Imitate lodash get method

This afternoon I used lodash.get together with react-hook-form to display error message in a form and I got the idea I could try to implement get myself as some type of brain training.

This implementation covers only use case when the path is string. Also I didnt cover get's defaultValue param.
I used the same test object as one used in lodash documentation.
Also this example wont return undefined when object's key is array, unlike lodash.get.

const get = (unit, path) => {

  if (path === "") {
    return unit;
  }

  const pathList = path.split(".");

  return Array.isArray(unit)
         ?  get(unit[0], pathList.join("."))
         :  get(unit[pathList[0]], pathList.slice(1).join("."));
};  

var test = { a: [{ b: { c: 3 } }] };

console.log(get(test, "a.b.c"));

Enter fullscreen mode Exit fullscreen mode

Conclusion

This code is only for educational purpose. Edge cases are not covered here and it should not be used anywhere in production. So long.

Top comments (0)