Array is contained in other array
JavaScript, Array · Oct 22, 2020

Checks if the elements of the first array are contained in the second one regardless of order.
- Use a
for...of
loop over aSet
created from the first array. - Use
Array.prototype.some()
to check if all distinct values are contained in the second array. - Use
Array.prototype.filter()
to compare the number of occurrences of each distinct value in both arrays. - Return
false
if the count of any element is greater in the first array than the second one,true
otherwise.
const isContainedIn = (a, b) => {
for (const v of new Set(a)) {
if (
!b.some(e => e === v) ||
a.filter(e => e === v).length > b.filter(e => e === v).length
)
return false;
}
return true;
};
isContainedIn([1, 4], [2, 4, 1]); // true
Written by Angelos Chalaris
I'm Angelos Chalaris, a JavaScript software engineer, based in Athens, Greece. The best snippets from my coding adventures are published here to help others learn to code.
If you want to keep in touch, follow me on GitHub.