https://jsperf.com/iterative-array-flatten/2

ункция, которая выравнивает массив

const deepFlatten = (input) => {
  let result = [];
  input.forEach((val, index) => {
    if (Array.isArray(val)) {
      result.push(...deepFlatten(val));
    } else {
      result.push(val);
    }
  });
  return result;
};

Во время обсуждения мне сказали, что это не эффективно для памяти, поскольку это может вызвать переполнение стека.

Я читаю вhttp://2ality.com/2015/06/tail-call-optimization.html что я мог бы переписать его так, чтобы он был TCO-ed.

Как это будет выглядеть и как я могу измерить профиль использования памяти?

Ответы на вопрос(3)

Ваш ответ на вопрос