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.
Как это будет выглядеть и как я могу измерить профиль использования памяти?