Разворачивание вложенных массивов(flatten)
Авито
Необходимо написать функцию flatten(array), которая разворачивает вложенные массивы в исходный массив.
Данные остальных типов должны остаться без изменений.
Решение должно учитывать любую вложенность элементов (т.е. не должно содержать рекурсивные вызовы).
Ограничения:
Ограничения:
- - Рекурсию использовать нельзя
- - Встроенный метод
Array.prototype.flat()использовать нельзя - - Нельзя использовать никакие методы модифицирующие массивы после создания кроме
pop/push
Примеры:
Input 1: [0, [1, [2, 3]], 4]
Output 1: [0, 1, 2, 3, 4]
Input 2: [1, "string", [2, [3, "4"]], { a: 1 }]
Output 2: [1, "string", 2, 3, "4", { a: 1 }]
Input 3: [[], [1], [[2, 3]], [[4], [5, [6]]]]
Output 3: [1, 2, 3, 4, 5, 6]
Input 4: [1, [2, [3, [4], [5, [6], [7, [8, [9]]]]]]]
Output 4: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Input 5: [1, [null, undefined], [[true, false]]]
Output 5: [1, null, undefined, true, false]
JavaScript•UTF-8
Run your code to see results.
Click the Run button above
Разворачивание вложенных массивов(flatten)
Авито
Необходимо написать функцию flatten(array), которая разворачивает вложенные массивы в исходный массив.
Данные остальных типов должны остаться без изменений.
Решение должно учитывать любую вложенность элементов (т.е. не должно содержать рекурсивные вызовы).
Ограничения:
Ограничения:
- - Рекурсию использовать нельзя
- - Встроенный метод
Array.prototype.flat()использовать нельзя - - Нельзя использовать никакие методы модифицирующие массивы после создания кроме
pop/push
Примеры:
Input 1: [0, [1, [2, 3]], 4]
Output 1: [0, 1, 2, 3, 4]
Input 2: [1, "string", [2, [3, "4"]], { a: 1 }]
Output 2: [1, "string", 2, 3, "4", { a: 1 }]
Input 3: [[], [1], [[2, 3]], [[4], [5, [6]]]]
Output 3: [1, 2, 3, 4, 5, 6]
Input 4: [1, [2, [3, [4], [5, [6], [7, [8, [9]]]]]]]
Output 4: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Input 5: [1, [null, undefined], [[true, false]]]
Output 5: [1, null, undefined, true, false]
Run your code to see results.