Determine Whether an Array in JavaScript Is a Subset of Another Arrayby@smpnjn

# Determine Whether an Array in JavaScript Is a Subset of Another Array

November 13th, 2022

Using the [array every method, we can find out if an array is a subset of another array. This method iterates through each element in an array and performs a test on it. If every element in the array passes that test, then the overall `every` method will return true. For each evaluation, we have a "parent" array, and a "subset" array - where we want to check if the "subs" array is fully contained within the parent array.

There are many cases where knowing when an array is a subset of another can be pretty useful - and although usually immediately obvious to the human eye, it can be difficult to evaluate in code.

In the code below, `arr2` is a subset of `arr1`, but `arr3` is not.

``````let arr1 = [ 'a', 'b', 'c' ];
let arr2 = [ 'b', 'c' ];
let arr3 = [ 'c', 'd' ];
``````

If we want to find out if an array is a subset of another array, the best way to evaluate this is by using the array every method. This method iterates through each element in an array and performs a test on it. If every element in the array passes that test, then the overall `every` method will return true.

For each evaluation, we have a "parent" array, and a "subset" array - where we want to check if the "subset" array is fully contained within the "parent" array.

To evaluate if one array is a subset of another, we can run `every` on each element on the "subset" array. Within the `every` function, we can test if the "parent" array contains each element in the "subset" array. If it does, then `every` will return `true`. Otherwise, it'll return `false`.

This can be accomplished easily with a function like the one shown below - `checkSubset` will return `true` should the `subsetArray` be fully contained within the `parentArray`:

``````let arr1 = [ 'a', 'b', 'c' ];
let arr2 = [ 'b', 'c' ];
let arr3 = [ 'c', 'd' ];

let checkSubset = (parentArray, subsetArray) => {
return subsetArray.every((el) => {
return parentArray.includes(el)
})
}

checkSubset(arr1, arr2); // returns true
checkSubset(arr1, arr3); // returns false
``````

Also published here.

L O A D I N G
. . . comments & more!