rhodash
Version:
A deadly simple alternative to lodash
33 lines (31 loc) • 2.51 kB
text/typescript
/**
* Creates an array of grouped elements.
*
* @example zip([1, 2], ['a', 'b']) // => [[1, 'a'], [2, 'b']]
*/
// generated by `meta/zip-type.ts`
// prettier-ignore
export function zip<T1, T2>(array1: readonly T1[], array2: readonly T2[]): (T1 | T2)[][]
// prettier-ignore
export function zip<T1, T2, T3>(array1: readonly T1[], array2: readonly T2[], array3: readonly T3[]): (T1 | T2 | T3)[][]
// prettier-ignore
export function zip<T1, T2, T3, T4>(array1: readonly T1[], array2: readonly T2[], array3: readonly T3[], array4: readonly T4[]): (T1 | T2 | T3 | T4)[][]
// prettier-ignore
export function zip<T1, T2, T3, T4, T5>(array1: readonly T1[], array2: readonly T2[], array3: readonly T3[], array4: readonly T4[], array5: readonly T5[]): (T1 | T2 | T3 | T4 | T5)[][]
// prettier-ignore
export function zip<T1, T2, T3, T4, T5, T6>(array1: readonly T1[], array2: readonly T2[], array3: readonly T3[], array4: readonly T4[], array5: readonly T5[], array6: readonly T6[]): (T1 | T2 | T3 | T4 | T5 | T6)[][]
// prettier-ignore
export function zip<T1, T2, T3, T4, T5, T6, T7>(array1: readonly T1[], array2: readonly T2[], array3: readonly T3[], array4: readonly T4[], array5: readonly T5[], array6: readonly T6[], array7: readonly T7[]): (T1 | T2 | T3 | T4 | T5 | T6 | T7)[][]
// prettier-ignore
export function zip<T1, T2, T3, T4, T5, T6, T7, T8>(array1: readonly T1[], array2: readonly T2[], array3: readonly T3[], array4: readonly T4[], array5: readonly T5[], array6: readonly T6[], array7: readonly T7[], array8: readonly T8[]): (T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8)[][]
// prettier-ignore
export function zip<T1, T2, T3, T4, T5, T6, T7, T8, T9>(array1: readonly T1[], array2: readonly T2[], array3: readonly T3[], array4: readonly T4[], array5: readonly T5[], array6: readonly T6[], array7: readonly T7[], array8: readonly T8[], array9: readonly T9[]): (T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9)[][]
// prettier-ignore
export function zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(array1: readonly T1[], array2: readonly T2[], array3: readonly T3[], array4: readonly T4[], array5: readonly T5[], array6: readonly T6[], array7: readonly T7[], array8: readonly T8[], array9: readonly T9[], array10: readonly T10[]): (T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10)[][]
export function zip<T>(...arrayList: (readonly T[])[]): (T | undefined)[][] {
const result: T[][] = []
for (let i = 0; i < arrayList[0].length; i++) {
result.push(arrayList.map((array) => array[i]))
}
return result
}