Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function zip () {
- const args = Array.prototype.slice.call(arguments)
- const combinerFunction = args.pop()
- const results = []
- const min = Math.min(...args.map(a => a.length))
- for (let counter = 0; counter < min; counter++) {
- let values = args.map(o => o[counter])
- results.push(combinerFunction(...values))
- }
- return results
- }
- // zip([1, 2], [3, 4], (left, right) => left + right)
- // => [4, 6]
- //
- // zip(['Whats', 'Yup'], ['Up'], ['Man'], (l, c, r) => l + c + r)
- // => ['WhatsUpMan']
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement