UNPKG

@modern-kit/utils

Version:
1 lines 2.14 kB
{"version":3,"file":"index.cjs","sources":["../../../src/array/fill/index.ts"],"sourcesContent":["/**\n * @description 배열을 지정한 값으로 채웁니다.\n *\n * 시작점과 끝점에 대한 인자를 받으면 해당하는 범위의 인덱스만 지정한 값으로 변경합니다.\n *\n * native fill 함수와 다르게 원본 배열을 수정하지 않고 새로운 배열을 반환합니다.\n *\n * @template T - 배열 요소의 유형입니다.\n * @template U - 배열 요소를 대체할 값의 유형입니다.\n * @param {T[] | readonly T[]} arr - 변경할 대상 배열입니다.\n * @param {U} target - 대체할 값입니다.\n * @param {number} [start] - 대체를 시작할 인덱스입니다. 기본값은 0입니다.\n * @param {number} [end] - 대체를 종료할 인덱스입니다. 기본값은 배열의 길이입니다.\n * @returns {U[]} - 변경된 배열을 반환합니다.\n *\n * @example\n * fill([1, 2, 3, 4, 5], 0);\n * // [0, 0, 0, 0, 0]\n *\n * @example\n * fill([1, 2, 3, 4, 5], 0, 2);\n * // [1, 2, 0, 0, 0]\n *\n * @example\n * fill([1, 2, 3, 4, 5], 0, 2, 4);\n * // [1, 2, 0, 0, 5]\n */\n\nexport function fill<T, U>(arr: T[] | readonly T[], target: U): U[];\nexport function fill<T, U>(\n arr: T[] | readonly T[],\n target: U,\n start: number\n): (T | U)[];\nexport function fill<T, U>(\n arr: T[] | readonly T[],\n target: U,\n start: number,\n end: number\n): (T | U)[];\nexport function fill<T, U>(\n arr: T[] | readonly T[],\n target: U,\n start?: number,\n end?: number\n) {\n const result = [...arr] as (T | U)[];\n\n const startIndex = start ?? 0;\n const endIndex = end ?? arr.length;\n\n for (let i = startIndex; i < endIndex; i++) {\n result[i] = target;\n }\n\n return result;\n}\n"],"names":[],"mappings":";;AAwCO,SAAS,IAAA,CACd,GAAA,EACA,MAAA,EACA,KAAA,EACA,GAAA,EACA;AACA,EAAA,MAAM,MAAA,GAAS,CAAC,GAAG,GAAG,CAAA;AAEtB,EAAA,MAAM,aAAa,KAAA,IAAS,CAAA;AAC5B,EAAA,MAAM,QAAA,GAAW,OAAO,GAAA,CAAI,MAAA;AAE5B,EAAA,KAAA,IAAS,CAAA,GAAI,UAAA,EAAY,CAAA,GAAI,QAAA,EAAU,CAAA,EAAA,EAAK;AAC1C,IAAA,MAAA,CAAO,CAAC,CAAA,GAAI,MAAA;AAAA,EACd;AAEA,EAAA,OAAO,MAAA;AACT;;;;"}