Имя метода, который удаляет узел дерева, но сохраняет его потомки

Я занимаюсь разработкой библиотеки JS с открытым исходным кодом, которая занимается древовидными структурами и графами сцен. Поскольку он предназначен для общего использования, имена методов API должны соответствовать соглашениям. Однако я не могу найти термин для древовидной операции, где узел удаляется из его родителя, так что дочерние узлы удаленного узла вставляются в родительский узел, чтобы заменить позицию удаленного узла.

Чтобы проиллюстрировать, метод X применяется к узлу B в дереве:

A
|
+-B
| |
| +-C
| |
| +-D
|   |
|   +-E
|
+-F

Результат операции:

A
|
+-C
|
+-D
| |
| +-E
|
+-F

Как называется такая операция / метод X? Я помню, я видел это с определенным именем несколько лет назад. Сращивания? Уменьшить? Упростить? Свести?

2 ответа

Я бы предложил использовать unwrap() поскольку он уже используется jQuery и довольно неплохо описывает, что делается с помощью этой операции (по крайней мере, на мой взгляд, легче следовать). Во всяком случае, такие вопросы наверняка основаны на мнении, поэтому мой ответ следует рассматривать как чистое предложение:) .

Наконец-то нашел, где я это увидел. ZUI lib Jazz for Java предоставляет метод extract()для егоZGroupузлы:

public voidextract (): извлечь этот узел из дерева, объединяя узлы выше и ниже его. Если у этого узла есть родительский элемент, то дочерние элементы этого узла будут добавлены к дочерним элементам этого родителя в той же позиции, в которой находился этот узел. Если у этого узла нет родительского элемента, его дочерние элементы будут просто удалены из него. Обратите внимание, что этот метод задерживает запуск любых необходимых групповых событий, пока дерево не будет полностью обновлено.

Однако ZUI lib Piccolo, преемник Jazz, похоже, отказался от этого метода. По крайней мере, я не могу найти ничего подобного из документации Piccolo API. Может быть, метод был ненужным?

Другие вопросы по тегам