Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. /**
  2. *
  3. * @param arr is a nested or one dimensional array
  4. * @returns an one dimensional array or undefined
  5. */
  6. const flatten = (arr) => {
  7. if(!Array.isArray(arr)) {
  8. console.log(`flatten parameter should be an array but "${arr}" was passed`)
  9. return undefined
  10. }
  11. const flattenReducer = (acc, item) => {
  12. const flattenedItem = Array.isArray(item) ? flatten(item) : item
  13. return acc.concat(flattenedItem)
  14. }
  15. return arr.reduce(flattenReducer, [])
  16. }
  17.  
  18. // const deeplyNestedArr = [[1,2,3,[9],[1,2,3,[9]]],4]
  19. // console.log(flatten(deeplyNestedArr))
  20. // console.log(flatten(1))
  21. // console.log(flatten({}))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement