Как правильнее всего достать значение объекта при помощи строки?
const nestedObject = { a: { b: { c: 3 } }, c: 1, b: 1 };
const str = "a.b.c";

const prop = str
  .split(".")
  .reduce(
    (acc, current) => (acc[current] !== undefined ? acc[current] : acc),
    nestedObject
  );
console.log(prop);
если str будет другой, например, 'a.b.c.d', то вернет максимально глубокое значение, т.е. в данном случае `c`, которое равно 3
Использовать lodash get.
Если интересует код - смотрите исходники.
Писать велосипед не рекомендуется, можно наступить на грабли и не раз.