es-toolkit
Version:
A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.
31 lines (30 loc) • 920 B
JavaScript
const require_difference = require("./difference.js");
//#region src/array/isSubset.ts
/**
* Checks if the `subset` array is entirely contained within the `superset` array.
*
*
* @template T - The type of elements contained in the arrays.
* @param superset - The array that may contain all elements of the subset.
* @param subset - The array to check against the superset.
* @returns Returns `true` if all elements of the `subset` are present in the `superset`, otherwise returns `false`.
*
* @example
* ```typescript
* const superset = [1, 2, 3, 4, 5];
* const subset = [2, 3, 4];
* isSubset(superset, subset); // true
* ```
*
* @example
* ```typescript
* const superset = ['a', 'b', 'c'];
* const subset = ['a', 'd'];
* isSubset(superset, subset); // false
* ```
*/
function isSubset(superset, subset) {
return require_difference.difference(subset, superset).length === 0;
}
//#endregion
exports.isSubset = isSubset;