Flattens any array dimension to one dimensional array using ES2015 reduce function and recursion
A Pen by Vlad Bezden on CodePen.
Flattens any array dimension to one dimensional array using ES2015 reduce function and recursion
A Pen by Vlad Bezden on CodePen.
| 'option strict' | |
| /** | |
| * Flatten an array of arbitrarily nested arrays into a flat array | |
| * | |
| * @params {!number[[[]]]} data: array of arbitrarily nested arrays | |
| * @returns {!number[]}: one dimensinal array | |
| */ | |
| function flattenArray(data) { | |
| return data.reduce((prev, curr) => | |
| prev.concat(Array.isArray(curr) ? | |
| flattenArray(curr) : | |
| curr), [] | |
| ) | |
| } | |
| // Examples | |
| const log = (data, result) => console.log('result for: ', data, ' => ', result) | |
| let data = [[1, 2, [3]], 4] | |
| let result = flattenArray(data) | |
| log(data, result) | |
| data = [1] | |
| result = flattenArray(data) | |
| log(data, result) | |
| data = [[[1]]] | |
| result = flattenArray(data) | |
| log(data, result) |