UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

40 lines (35 loc) 916 B
import { purry } from './purry'; /** * Removes last `n` elements from the `array`. * @param array the target array * @param n the number of elements to skip * @signature * P.dropLast(array, n) * @example * P.dropLast([1, 2, 3, 4, 5], 2) // => [1, 2, 3] * @data_first * @category Array */ export function dropLast<T>(array: readonly T[], n: number): T[]; /** * Removes last `n` elements from the `array`. * @param array the target array * @param n the number of elements to skip * @signature * P.dropLast(n)(array) * @example * P.dropLast(2)([1, 2, 3, 4, 5]) // => [1, 2, 3] * @data_last * @category Array */ export function dropLast<T>(n: number): (array: readonly T[]) => T[]; export function dropLast() { return purry(_dropLast, arguments); } function _dropLast<T>(array: T[], n: number) { const copy = [...array]; if (n !== 0) { copy.splice(-n); } return copy; }