Доступ к полю по пути (lodash.get)

Medium
ObjectStringYandex

Реализуйте функцию get(obj, path, defaultValue), аналогичную lodash.get.

  • path — строка вида 'a.b.c' или 'a[0].b'
  • Если значение по пути не найдено или равно undefined, вернуть defaultValue
const obj = { a: [{ b: { c: 3 } }] };
get(obj, 'a[0].b.c');         // => 3
get(obj, 'a.b.c', 'default'); // => 'default'
Подсказка

Сначала приведи путь к единому формату: замени [0] на .0 через regex, затем просто сделай split('.') — получишь массив ключей.

Подсказка

Обходи ключи через reduce, на каждом шаге проверяя что аккумулятор не null и не undefined — иначе получишь TypeError.

Ваш код - JavaScript
Результаты
Нажмите «Запуск» для выполнения кода