Skip to content

isSubsetWith

Import from @varavel/vdl-plugin-sdk/utils/arrays.

function isSubsetWith<T>(
   superset, 
   subset, 
   areItemsEqual): boolean;

Checks if the subset array is entirely contained within the superset array based on a custom equality function.

This function takes two arrays and a custom comparison function. It returns a boolean indicating whether all elements in the subset array are present in the superset array, as determined by the provided custom equality function.

Type Parameters

Type Parameter Description
T The type of elements contained in the arrays.

Parameters

Parameter Type Description
superset readonly T[] The array that may contain all elements of the subset.
subset readonly T[] The array to check against the superset.
areItemsEqual (x, y) => boolean A function to determine if two items are equal.

Returns

boolean

  • Returns true if all elements of the subset are present in the superset according to the custom equality function, otherwise returns false.

Examples

const superset = [{ id: 1 }, { id: 2 }, { id: 3 }];
const subset = [{ id: 2 }, { id: 1 }];
const areItemsEqual = (a, b) => a.id === b.id;
isSubsetWith(superset, subset, areItemsEqual); // true
const superset = [{ id: 1 }, { id: 2 }, { id: 3 }];
const subset = [{ id: 4 }];
const areItemsEqual = (a, b) => a.id === b.id;
isSubsetWith(superset, subset, areItemsEqual); // false