Zip multiple arrays

This function ‘zips’ multiple arrays, merging them into one array of tuples, where the first element of each input array is paired with the first element of the other input arrays, and so on.

JavaScript:

let zip = (...arrays) => arrays[0].map((_,i) => arrays.map(array => array[i]));

// Example
console.log(zip(['a', 'b', 'c'], [1, 2, 3], [true, false, true])); // [['a', 1, true], ['b', 2, false], ['c', 3, true]]
console.log(zip(['John', 'Jane'], [23, 21], ['Male', 'Female'])); // [['John', 23, 'Male'], ['Jane', 21, 'Female']]

TypeScript:

let zip = (...arrays: T[][]): T[][] => arrays[0].map((_,i) => arrays.map(array => array[i]));

// Example
console.log(zip(['a', 'b', 'c'], [1, 2, 3], [true, false, true])); // [['a', 1, true], ['b', 2, false], ['c', 3, true]]
console.log(zip(['John', 'Jane'], [23, 21], ['Male', 'Female'])); // [['John', 23, 'Male'], ['Jane', 21, 'Female']]
Member since January 2, 2019

As a seasoned WordPress developer with expertise in various tech stacks and languages, I bring years of experience to every project I handle. My passion for coding and dedication to delivering exceptional work ensures that each project I take on is of the highest quality. I specialize in creating custom themes, developing plugins, and building full-scale web systems. By staying up-to-date with the latest industry trends and best practices, I incorporate cutting-edge solutions into my work.

Comments

    Your email address will not be published. Required fields are marked *