8 lines
285 B
JavaScript
8 lines
285 B
JavaScript
const zipWith = (...array) => {
|
|
const fn = typeof array[array.length - 1] === 'function' ? array.pop() : undefined;
|
|
return Array.from(
|
|
{ length: Math.max(...array.map(a => a.length)) },
|
|
(_, i) => (fn ? fn(...array.map(a => a[i])) : array.map(a => a[i]))
|
|
);
|
|
};
|
|
module.exports = zipWith; |