Pregunta de entrevista de Meta

Write a function to flatten an array in JavaScript.

Respuestas de entrevistas

Anónimo

16 de feb de 2017

function flatten(array) { array.reduce(function(flat, toFlatten) { return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten); }, []); }

3

Anónimo

9 de ago de 2019

// flat deep recursion const flatArr = arr => arr.reduce( (acc, val) => acc.concat(Array.isArray(val) ? flatArr(val) : val), [] ); // flat deep no recursion const flatDeep = input => { const stack = [...input]; const res = []; while (stack.length) { const currValue = stack.pop(); Array.isArray(currValue) ? stack.push(...currValue) : res.push(currValue); } return res.reverse(); };

1