Size: a a a

Node.js — русскоговорящее сообщество

2020 March 21

АП

Алексей Попов in Node.js — русскоговорящее сообщество
И, кстати, я не удивлюсь, если под "создать интерфейс" имеется в виду гуйня, а не api
источник

АП

Андрій Палій in Node.js — русскоговорящее сообщество
Всем доброго вечера, есть ли у кого-то рекурсивная функция для обхода дерева, которое сохранено в виде:

tree = {
  id: string,
  children:[
     {
        id:string,
        children:[...]
     },
     {
        id:string,
        children:[...]
     }
  ]
}
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Андрій Палій
Всем доброго вечера, есть ли у кого-то рекурсивная функция для обхода дерева, которое сохранено в виде:

tree = {
  id: string,
  children:[
     {
        id:string,
        children:[...]
     },
     {
        id:string,
        children:[...]
     }
  ]
}
Есть в @js_noobs_ru
источник

АП

Андрій Палій in Node.js — русскоговорящее сообщество
Как найти?
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Андрій Палій
Как найти?
Туда вопрос отправь, помогут найти
источник

АП

Андрій Палій in Node.js — русскоговорящее сообщество
Понял, спасибо
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Андрій Палій
Всем доброго вечера, есть ли у кого-то рекурсивная функция для обхода дерева, которое сохранено в виде:

tree = {
  id: string,
  children:[
     {
        id:string,
        children:[...]
     },
     {
        id:string,
        children:[...]
     }
  ]
}
Вот как раз завалялась лишняя:
function walkTree(node) {

 console.log(node.id);

 for (const child of node.children) {
   walkTree(child);
 }

}
источник

АП

Андрій Палій in Node.js — русскоговорящее сообщество
Спасибо)
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Random Balance
Вот как раз завалялась лишняя:
function walkTree(node) {

 console.log(node.id);

 for (const child of node.children) {
   walkTree(child);
 }

}
Переполнение стека на каком уровне дерева произойдет?
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Алексей Попов
Переполнение стека на каком уровне дерева произойдет?
А рекурсивная может быть без переполнения? 🤔
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Алексей Попов
Переполнение стека на каком уровне дерева произойдет?
Не помню в ноде. В хроме 128 тыс. вроде.
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Random Balance
А рекурсивная может быть без переполнения? 🤔
Мне кажется человек запросил именно рекурсию просто потому что не понимает что ему на самом деле надо
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Алексей Попов
Мне кажется человек запросил именно рекурсию просто потому что не понимает что ему на самом деле надо
Так деревья же только так и обоходятся.
источник

АП

Андрій Палій in Node.js — русскоговорящее сообщество
В моей задаче не будет больше 10 уровней вложения, поэтому, переполнение не столь критично.
источник

АП

Андрій Палій in Node.js — русскоговорящее сообщество
Но есть ещё один вопрос, есть ли возможность написать рекурсивную, чистую фунцию которая будет осуществлять поиск елемента в таком дереве?
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Андрій Палій
Но есть ещё один вопрос, есть ли возможность написать рекурсивную, чистую фунцию которая будет осуществлять поиск елемента в таком дереве?
Никто не запрещает возвращать результат.
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Алексей Попов
Переполнение стека на каком уровне дерева произойдет?
Странно, или я что-то путаю или уменьшили лимит. Сейчас 12442. 🤔
источник

АП

Андрій Палій in Node.js — русскоговорящее сообщество
Random Balance
Никто не запрещает возвращать результат.
Хм, не все так просто, наверх элемент не выкинет, только на уровне этого выполнения останется, мне так кажется
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Андрій Палій
Хм, не все так просто, наверх элемент не выкинет, только на уровне этого выполнения останется, мне так кажется
Ну так на каждом уровне возвращай.
источник

АП

Андрій Палій in Node.js — русскоговорящее сообщество
Таким образом?
function walkTree(node) {
 if(node.id === "значение которое ищем"){
  return node
}
  for (const child of node.children) {
   return walkTree(child);
 }

}
источник