@modern-kit/utils
Version:
1 lines • 1.6 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../../../src/array/at/index.ts"],"sourcesContent":["/**\n * @description 주어진 배열에서 특정 인덱스의 요소를 반환하는 함수입니다.\n *\n * @template T - 배열 요소의 타입.\n * @param {T[] | readonly T[]} arr - 요소를 찾을 배열입니다.\n * @param {number} [index=0] - 가져오고자 하는 요소의 인덱스입니다. 양수 뿐만 아니라 음수 값을 사용하여 배열의 끝에서부터 요소를 가져올 수 있습니다.\n * @returns {T | undefined} 주어진 인덱스에 해당하는 배열 요소를 반환합니다. 인덱스가 유효하지 않을 경우 `undefined`를 반환합니다.\n *\n * @example\n * const arr = [1, 2, 3];\n *\n * at([1, 2, 3, 4, 5]); // 1\n * at([1, 2, 3, 4, 5], 0); // 1\n * at([1, 2, 3, 4, 5], 1); // 2\n * at([1, 2, 3, 4, 5], 2); // 3\n *\n * @example\n * at([1, 2, 3, 4, 5], -1); // 5\n * at([1, 2, 3, 4, 5], -2); // 4\n * at([1, 2, 3, 4, 5], -3); // 3\n */\nexport function at<T>(\n arr: T[] | readonly T[],\n index: number = 0\n): T | undefined {\n const len = arr.length;\n const relativeIndex = index < 0 ? len + index : index;\n\n if (relativeIndex < 0 || relativeIndex >= len) {\n return undefined;\n }\n\n return arr[relativeIndex];\n}\n"],"names":[],"mappings":";;AAqBO,SAAS,EAAA,CACd,GAAA,EACA,KAAA,GAAgB,CAAA,EACD;AACf,EAAA,MAAM,MAAM,GAAA,CAAI,MAAA;AAChB,EAAA,MAAM,aAAA,GAAgB,KAAA,GAAQ,CAAA,GAAI,GAAA,GAAM,KAAA,GAAQ,KAAA;AAEhD,EAAA,IAAI,aAAA,GAAgB,CAAA,IAAK,aAAA,IAAiB,GAAA,EAAK;AAC7C,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,OAAO,IAAI,aAAa,CAAA;AAC1B;;;;"}