Найти в односвязном списке всех родителей объекта, id которого равен заданному

Имеется односвязный список такого вида:

const arr = [
      {
         "id":1958,
         "children":[
            {
               "id":123539,
              "children":[
                 {
                    "id":122235332
                }
                ]
            }
         ]
      }
   ]
;

Задача состоит в том, чтобы найти все объекты-родители объекта с id равным переданному в функцию фильтрации, все что находятся выше по иерархии.


Ответы (1 шт):

Автор решения: slippyk

const arr = [
  {
    "id":1958,
    "children":[
      {
        "id":123539,
        "children":[
          {
            "id":122235332
          }
        ]
      }
    ]
  }
];

const x = 122235332;
let y = arr[0];

while (true) {
  const { id, children } = y;
  if (id === x) {
    break;
  }

  console.log(id);
  y = children[0];
}

→ Ссылка