Skip to content

Instantly share code, notes, and snippets.

@jherax
Last active May 30, 2020 15:39
Show Gist options
  • Save jherax/7dce66c97ea06150e00c5a6febec26e7 to your computer and use it in GitHub Desktop.
Save jherax/7dce66c97ea06150e00c5a6febec26e7 to your computer and use it in GitHub Desktop.
Merges (flattens) all inner arrays into one-level depth array
/**
* Merges all inner arrays into one-level depth array.
*
* @param {Array} array: the array to be flattened
* @return {Array}
*/
const flatten = array => array.reduce(
(flattened, cv) => flattened.concat(Array.isArray(cv) ? flatten(cv) : cv),
[] // initial value of flattened array
);
/**
* Merges all inner arrays into one-level depth array.
*
* @param {Array} array: the array to be flattened
* @return {Array}
*/
function flatten(array) {
return array.reduce(function (flattened, cv) {
return flattened.concat(Array.isArray(cv) ? flatten(cv) : cv);
}, []); // initial value of flattened array
}
var array = [[1], [2], [3, 4], [['a', 'b'], [['c'], 'd']], 9];
// merges all inner arrays into one-level array
var flat = flatten(array);
console.log(flat);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment