Как реализовать flat для массива?

Junior
257 просмотров
AFK Offer AI

function flat(arr, depth = 1) { if (depth === 0) return [...arr]; return arr.reduce((acc, item) => { if (Array.isArray(item)) acc.push(...flat(item, depth - 1)); else acc.push(item); return acc; }, []); }. Итеративный вариант через стек: const stack = [...arr.map(item => [item, depth])]; while (stack.length) {...}. Бесконечная глубина: flat(arr, Infinity). Нативный: [1, [2, [3]]].flat(Infinity). На собеседованиях проверяют рекурсию и работу с вложенными структурами.

Следующий вопрос

Как работает dynamic import?