Вы можете использовать полный динамический подход, зная некоторые ключи.
function findPath(object, id) {
var path;
if (!object || typeof object !== 'object') return;
if (object.id === id) return [];
Object.entries(object).some(([k, o]) => {
var temp;
if (temp = findPath(o, id, path = [])) {
path = [k, ...temp];
return true;
}
});
return path;
}
var data = [{ id: 1, child: [{ id: 2, child: [{ id: 3, child: [] }, { id: 4, child: [{ id: 44, child: [{ id: 55, child: [] }] }] }] }, { id: 5, child: [{ id: 6, child: [] }] }] }];
console.log(findPath(data, 44));
.as-console-wrapper { max-height: 100% !important; top: 0; }
AutomatedDocking http://www.automatedqa.com/products/aqdocking/index.asp
и для свободного один JVCL Прикрепляющийся http://jvcl.delphi-jedi.org/
Отказ от ответственности: Я не большой поклонник прикрепления..., но...
Вы играли много с прикреплением, как это находится в Delphi?
Если это делает все, что Вы хотите, то даете новую попытку VCL...
Компоненты прикрепления AutomatedQA являются большими. Легкий работать с, хорошая справка, подсказки прикрепления стиля Visual Studio 2005 года, и т.д. Я запустил с DevExpress, прикрепляющего компоненты (я все еще люблю DevExpress и использую много их компонентов), но я думаю, что AutomatedQA, прикрепляющую компоненты, легче использовать и более надежный.
Я рад прочитать Ваше сообщение, я использую Автоматизированный QA' прикрепляющиеся компоненты, и я сыт по горло ими. Я рассматривал переключение на DevExpress, но я думаю я, willl уделяют ему долгое внимание теперь. Самыми проблематичными с компонентом AutomatedQA являются ошибки, иногда плавающие окна исчезает, когда прикрепленные панели не прикрепляются и материал как это.
AutomatedQA не предлагает достойной поддержки, и новые выпуски не должны ожидаться ежегодно, даже если Вы указали на ошибку, которая может быть легко воспроизведена. У меня есть подозрение, что прикрепляющаяся платформа не получает много фокуса в AutomatedQA.
Я предполагаю, что нужно обратиться к созданному в VCL или возможно ДЖЕДАЕ, но я не могу найти ценные образцы (посредственный образец прикрепления, включенный с Delphi, не обеспечивает много справки), но я предполагаю, что это должно быть возможно, в конце концов, они создали Delphi с помощью этого...
Кто-либо знает хорошего ДЖЕДАЯ, прикрепляющего пример приложения?