Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.50 KB | None | 0 0
  1. function zip () {
  2. const args = Array.prototype.slice.call(arguments)
  3. const combinerFunction = args.pop()
  4. const results = []
  5. const min = Math.min(...args.map(a => a.length))
  6.  
  7. for (let counter = 0; counter < min; counter++) {
  8. let values = args.map(o => o[counter])
  9. results.push(combinerFunction(...values))
  10. }
  11.  
  12. return results
  13. }
  14.  
  15. // zip([1, 2], [3, 4], (left, right) => left + right)
  16. // => [4, 6]
  17. //
  18. // zip(['Whats', 'Yup'], ['Up'], ['Man'], (l, c, r) => l + c + r)
  19. // => ['WhatsUpMan']
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement