UNPKG

es-toolkit

Version:

A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.

28 lines (27 loc) 834 B
import { difference } from "./difference.mjs"; //#region src/array/without.ts /** * Creates an array that excludes all specified values. * * It correctly excludes `NaN`, as it compares values using [SameValueZero](https://tc39.es/ecma262/multipage/abstract-operations.html#sec-samevaluezero). * * @template T The type of elements in the array. * @param array - The array to filter. * @param values - The values to exclude. * @returns A new array without the specified values. * * @example * // Removes the specified values from the array * without([1, 2, 3, 4, 5], 2, 4); * // Returns: [1, 3, 5] * * @example * // Removes specified string values from the array * without(['a', 'b', 'c', 'a'], 'a'); * // Returns: ['b', 'c'] */ function without(array, ...values) { return difference(array, values); } //#endregion export { without };