Exercise 17: Zip Multiple Arrays
Problem Statement
Create a function `zip(...arrays)` that zips multiple arrays (combine by index).
Example: zip([1, 2], ["a", "b"], [true, false]) → [[1, "a", true], [2, "b", false]]
Sample Output:
zip([1, 2], ["a", "b"], [true, false]) => [[1, "a", true], [2, "b", false]] zip([1], [2, 3]) => [[1, 2], [undefined, 3]]
Solution
const zip = (...arrays) => {
const maxLen = Math.max(...arrays.map(arr => arr.length));
return Array.from({ length: maxLen }, (_, i) => arrays.map(arr => arr[i]));
};Explanation
Overall Goal:
- Multiple arrays ko index-wise combine karna.
Real world:
- Data transformation: combine columns.
- Parallel processing: combine results.