Добрый день!
В javascript пока в процессе знакомства, и возникла такая задачка в процессе обучения, которая затормозила...
Есть матрица [1,2,[3,4,[5,6,7],8],9,10].
С помощью функции (желательно, рекурсивной), нужно её превратить в меню вида:
<ul>
<li>1</li>
<li>2</li>
   <ul>
     <li>3</li>
     <li>4</li>
        <ul>
          <li>5</li>
          <li>6</li>
          <li>7</li>
        </ul>
     <li>8</li>
   </ul>
<li>9</li>
<li>10</li>
</ul>
Написала такой код:
function recursiveList (data) {
        var arr = data;
        var list = document.getElementById('list'); 
        var newlist = document.createElement('ul');
          for (var i = 0; i < arr.length; i++) {
                   var item = document.createElement("li");
                   item.appendChild(document.createTextNode(arr[i]));
                   newlist.appendChild(item);
            };
        list.appendChild(newlist);       
         for (var i = 0; i < arr.length; i++) {
           if (typeof(arr[i]) == 'object') {
                    return recursiveList(arr[i]);
            }
        };   
    
     return list;    
    }
Но пока что получаю значения в виде:
<ul>
<li>1</li>
<li>2</li>
<li>3 4 5 6 7 8</li>
<li>9</li>
<li>10</li>
</ul>
<ul>
  <li>3</li>
  <li>4</li>
  <li>5 6 7</li>
  <li>8</li>
</ul>
<ul>
    <li>5</li>
    <li>6</li>
    <li>7</li>
</ul>
Что нужно сделать, чтоб привести её в нужный вид? Буду очень благодарна помощи! 
