Приведу пример, который сам на днях использовал. К сожалению не на JS, а на PHP и он не такой простой, но возможно немного вам поможет:
public function post()
{
if (!$this->parent()) {
return $this->commentable_id;
}
else {
return $this->parent()->post();
}
}
В общем суть такая, что нужно было уведомлять пользователя, если кто-то прокомментировал его пост, при этом, на сайте многоуровневая система комментариев. И если кто-то написал ответ на комментарий, то он уже никак не связан с постом, а автора уведомить всё таки нужно. Если комментарий написан не как ответ на чей-то, а как просто коммент под сам пост, то у него parent вернёт null, а иначе вернёт комментарий, ответом на который он является. И с помощью рекурсии я реализовал получение id поста, на который кто-то оставил коммент: в момент создания комментария вызывается этот метод post (функция, если так понятнее), которая, если это коммент первого уровня, вернёт id поста, а если нет, то вызовет этот же метод, но уже у комментария, ответом на который является данный. И эта функция будет вызываться сколько угодно много раз, пока не дойдёт до высшего уровня и не получит оттуда id поста.