Есть куча объектов в цепочке вложений может быть свойство с нужным значением.
objN: {
id: "nameN",
keyN: val,
...,
nextSibling: {
keyN: val,
...,
parentNode: {
id: "nameN",
keyN: val,
...,
nextSibling: {
keyN: val,
...,
parentNode: {
id: "ИСКОМОЕ ИМЯ"
keyN: val,
...,
}
}
}
}
}
"ИСКОМОЕ ИМЯ" может находиться на разной глубине от объекта к объекту. Как видите проверять
id надо не на каждом уровне, а через один
"nextSibling". Также перебор может упереться в
nextSibling: null, и
"ИСКОМОЕ ИМЯ" будет не найдено, в таком случае объект не подходит.
Если интересно, то эти объекты выдаёт SVGLoader фреймворка threejs, а этот перебор это поиск svg путей находящихся в группе
"ИСКОМОЕ ИМЯ".
У меня к сожалению нехватает знаний это переварить.