Хорошо, вот у меня есть функция которая ищет виджеты одного модуля внутри него, я бы хотел для ускорения её работы развернуть рекурсию в цикл, но я слишком плохой программист для этого, может ты справишься? или это слишком сложно для тебя чтобы сделать это бесплатно?
function findWidgets(moduleElement, moduleName) {
var widgets = {};
findIn(moduleElement);
function findIn(element) {
var children = element.children;
for (var i = 0; i < children.length; i++) {
var child = children[i];
var uiAttr = child.getAttribute('ui');
var regExp = new RegExp(moduleName + ':(\\w+)');
if (uiAttr === moduleName) continue;
if (uiAttr && regExp.test(uiAttr)) {
var widgetName = regExp.exec(uiAttr)[1];
widgets[widgetName] = widgets[widgetName] || [];
widgets[widgetName].push(child);
}
findIn(child);
}
}
return widgets;
}
напомню