Ребят, можно ли это как то оптимизировать и сделать лучше? Без рекурсии.
Идея такова, что есть массив обьектов и у них есть флаг, который нужно поменять на противоположный, и если у этого обьекта есть массив обьектов (детей), у них у всех тоже поменять этот флаг на противоположный
Рекурсия в Вашем варианте это хороший выбор, если паттерн повторяется и количество child вложенностей может быть разным. Код можно написать иначе, чтоб он был более понятным.