Open
Description
Для TreeNode можно сделать то же, что и с https://github.com/HowProgrammingWorks/LinkedList и тут даже можно больше придумать:
- Поиск (с разной реализацией), например:
- Найти первый и вернуть через return:
findFirst(name):Node
- Найти все и вернуть через return массив:
findAll(name):[Node]
- Искать и вызывать callback при нахождении:
find(name, callback(Node))
- По имени, но не глубже указанного
find({ name, depth }, callback(Node))
- Посложнее:
find({ name, parent, depth, hasChildren }, callback(Node))
- По регулярному выражению:
find(nameRegExp, callback(Node))
- Найти первый и вернуть через return:
- Добавление элементов:
shift, pop, erase
- Удаление элементов:
unshift, push, insert
- Вставка массива элементов:
append([node1, node2, node3])
- Заменить предка:
setParent(node, newParent)
и таких можно придумать много, вы поняли принцип
Metadata
Metadata
Assignees
Labels
No labels