@modern-kit/utils
Version:
24 lines (22 loc) • 828 B
TypeScript
/**
* @description 중첩 배열을 지정된 깊이까지 평탄화 합니다.
*
* Array.prototype.flat과 동일하게 동작합니다. 하지만 성능이 더 우수합니다.(약 6~7배)
*
* @template T - 배열 요소의 유형입니다.
* @template D - 평탄화 깊이의 유형입니다.
* @param {T[] | readonly T[]} arr - 평탄화할 중첩 배열입니다.
* @param {D} [depth=1] - 평탄화할 깊이입니다. 기본값은 1입니다.
* @returns {FlatArray<T[], D>[]} 평탄화된 새로운 배열을 반환합니다.
*
* @example
* const arr = [1, [2, 3], [4, [5, 6]]];
*
* flatten(arr, 1);
* // [1, 2, 3, 4, [5, 6]]
*
* flatten(arr, 2);
* // [1, 2, 3, 4, 5, 6]
*/
declare function flatten<T, D extends number = 1>(arr: T[] | readonly T[], depth?: D): FlatArray<T[], D>[];
export { flatten };