// Created on savesnippets.com ยท https://savesnippets.com/SS8DDiZ9IP4Clf export function zip(a: readonly A[], b: readonly B[]): Array<[A, B]> { const len = Math.min(a.length, b.length); const out: [A, B][] = new Array(len); for (let i = 0; i < len; i++) out[i] = [a[i]!, b[i]!]; return out; } zip(['x', 'y', 'z'], [1, 2, 3]); // [['x',1], ['y',2], ['z',3]] // Build a record from parallel arrays: const headers = ['id', 'name', 'email'] as const; const row = [42, 'Alice', 'a@x.com']; const obj = Object.fromEntries(zip(headers, row)); // { id: 42, name: 'Alice', email: 'a@x.com' }