UNPKG

@modern-kit/utils

Version:
28 lines (26 loc) 1.13 kB
/** * @description 여러 배열을 결합하여 튜플 형태의 배열을 반환합니다. * * 입력 배열들의 길이가 서로 다르다면, 결과 배열은 가장 긴 입력 배열의 길이를 가집니다. * * 누락된 요소에 대해서는 undefined 값이 사용됩니다. * * @template T - 결합할 배열들의 타입을 나타내는 제네릭 타입입니다. * @param {T} arrs - 결합할 배열들입니다. * @returns {Array<{ [K in keyof T]: T[K] extends (infer U)[] ? U : never }>} 결합된 배열을 반환합니다. * * @example * const arr1 = [1, 2, 3]; * const arr2 = ['a', 'b', 'c']; * const arr3 = [true, false, true]; * const arr4 = [null, null]; * * zip(arr1); // [[1], [2], [3]] * zip(arr1, arr2); // [[1, 'a'], [2, 'b'], [3, 'c']] * zip(arr1, arr2, arr3); // [[1, 'a', true], [2, 'b', false], [3, 'c', true]] * zip(arr1, arr2, arr3, arr4); // [[1, 'a', true, null], [2, 'b', false, null], [3, 'c', true, undefined]] */ declare function zip<T extends (readonly unknown[])[]>(...arrs: T): Array<{ [K in keyof T]: T[K] extends (infer U)[] ? U : never; }>; export { zip };