VDL Plugin SDK

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 ParameterDescription
TThe type of elements contained in the arrays.

Parameters

ParameterTypeDescription
supersetreadonly T[]The array that may contain all elements of the subset.
subsetreadonly T[]The array to check against the superset.
areItemsEqual(x, y) => booleanA 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