paint-brush
Determine Whether an Array in JavaScript Is a Subset of Another Arrayby@smpnjn
778 reads
778 reads

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

by Johnny Simpson
Johnny Simpson HackerNoon profile picture

Johnny Simpson

@smpnjn

Product, Engineering, Web

November 13th, 2022
Read on Terminal Reader
Read this story in a terminal
Print this story
Read this story w/o Javascript
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

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.
featured image - Determine Whether an Array in JavaScript Is a Subset of Another Array
1x
Read by Dr. One voice-avatar

Listen to this story

Johnny Simpson HackerNoon profile picture
Johnny Simpson

Johnny Simpson

@smpnjn

Product, Engineering, Web

About @smpnjn
LEARN MORE ABOUT @SMPNJN'S
EXPERTISE AND PLACE ON THE INTERNET.


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!

About Author

Johnny Simpson HackerNoon profile picture
Johnny Simpson@smpnjn
Product, Engineering, Web

TOPICS

THIS ARTICLE WAS FEATURED IN...

Permanent on Arweave
Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite
Coffee-web
Hashnode
X REMOVE AD