Проблема в том что функция возвращает помимо всего, undefined.
Т.е она выводит undefined, затем уже то что в return. В чем проблема?
$('.right-menu').append(`<ul class="hide-menu">${subm()}</ul>`)
function subm(text){
for(r of i.subm){
text = text + `<li>
<div class="menu">${r}</div>
</li>`
}
return text
}