@minaev007

Как вывести все элементы списка (в том числе вложенные)?

var all = [];
function one(numbers) {
    for (i=0; i<numbers.length; i++) {
        if (numbers[i].length) {
            one(numbers[i]);
        } else {
            all.push(numbers[i]);
        }
    }
    return all;
}
var numbers = [1,[6,7],2,3,4,5];
console.log(one(numbers)); // [1, 6, 7, 3, 4, 5]
// нужно // [1, 6, 7, 2, 3, 4, 5]


почему после возвращения из рекурсивного вызова i=3 а не 2? ..
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
почему после возвращения из рекурсивного вызова i=3 а не 2?

Не выдумывайте, там 2.

Ну а то, что функция работает не так, как вы ожидаете - это потому что переменная i является глобальной.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы