← Wszystkie zadaniaJavaScript · Junior

flatten: spłaszcz zagnieżdżoną tablicę

Napisz funkcję flatten(array), która zamienia tablicę o dowolnym zagnieżdżeniu w płaską. Obiektów nie ruszamy - spłaszczamy tylko tablice.

Spróbuj rozwiązać bez Array.prototype.flat, jak zwykle proszą na rozmowie.

Testy (5)

  1. expect(flatten([1, [2, [3, [4]], 5]])).toEqual([1, 2, 3, 4, 5]);
  2. expect(flatten([[], [[]], 1])).toEqual([1]);
  3. expect(flatten(["a", ["b"], { c: [1] }])).toEqual(["a", "b", { c: [1] }]);
  4. expect(flatten([])).toEqual([]);
  5. const source = [1, [2]];
    flatten(source);
    expect(source).toEqual([1, [2]]);