Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *
- * @param arr is a nested or one dimensional array
- * @returns an one dimensional array or undefined
- */
- const flatten = (arr) => {
- if(!Array.isArray(arr)) {
- console.log(`flatten parameter should be an array but "${arr}" was passed`)
- return undefined
- }
- const flattenReducer = (acc, item) => {
- const flattenedItem = Array.isArray(item) ? flatten(item) : item
- return acc.concat(flattenedItem)
- }
- return arr.reduce(flattenReducer, [])
- }
- // const deeplyNestedArr = [[1,2,3,[9],[1,2,3,[9]]],4]
- // console.log(flatten(deeplyNestedArr))
- // console.log(flatten(1))
- // console.log(flatten({}))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement