var n = +prompt('Сколько?', 13), a = [];
for (var i = 0, t = a; i < n; ++i) t = t[0] = [];
alert(JSON.stringify(a))
Для реализации Вашей задачи не хватает только стека, с помощью которого можно было бы возвращаться на верхние уровни. А стек и возвраты — это как раз про рекурсию. Проще всего сделать рекурсивный вариант. И, да, я его сделал. И мне хватило выразительности языка.