请问各位怎么优化这个递归,避免内存溢出
getTreeHtml(node) {
let html = [];
node.forEach(item => {
if (item.children && item.children.length) {
html = html.concat([
'<div class="tree-main">',
'<div class="tree-tit flex align-center">',
'<a data-item=\'' + item + '\' href="javascript:void(0)">',
'<span class="fa fa-caret-down"></span> ',
'<strong>' + item.name + '</strong>',
'</a>',
'</div>',
'<div class="tree-nav">',
'<ul>',
'<li>',
method.getTreeHtml(item.children),
'</li>',
'</ul>',
'</div>',
'</div>'
])
} else {
html = html.concat([
'<div class="tree-main">',
'<div class="tree-txt flex align-center">',
'<a data-item=\'' + item + '\'>',
'<strong>' + item.name + '</strong>',
'</a>',
'</div>',
'</div>'
])
}
})
return html.join('')
},