Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *A function that takes a (nested) array as input and returns a flattened version of it
- *@param {Array} input - arbitrarily nested array of integers
- *@param {Array} input - progressively built flattened output array
- *@returns {Array} the flattened array, empty array if the input is either not an array or an empty array
- */
- var flatten = function(input, output) {
- if (!input || !input.length) return [];
- output = output || [];
- for (var i = 0; i < input.length; i++) {
- var curr = input[i];
- if (Array.isArray (curr)) {
- flatten(curr, output);
- }
- else {
- output[output.length++] = curr;
- }
- }
- return output;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement