Files
30-seconds-of-code/snippets/isContainedIn.md
Angelos Chalaris 8a6b73bd0c Update covers
2023-02-16 22:24:28 +02:00

952 B

title, tags, author, cover, firstSeen, lastUpdated
title tags author cover firstSeen lastUpdated
Array is contained in other array array chalarangelo island-corridor 2020-01-05T21:40:51+02:00 2020-10-22T20:23:47+03:00

Checks if the elements of the first array are contained in the second one regardless of order.

  • Use a for...of loop over a Set 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