Я тренируюсь и пытаюсь написать рекурсивную функцию сглаживания массива. Код идет здесь:
function flatten() {
var flat = [];
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] instanceof Array) {
flat.push(flatten(arguments[i]));
}
flat.push(arguments[i]);
}
return flat;
}
Проблема в том, что если я передаю туда массив или вложенные массивы, я получаю ошибку "максимальный размер стека вызовов". Что я делаю неправильно?