Files
30-seconds-of-code/snippets/haveSameContents.md
Isabelle Viktoria Maciohsek 27c168ce55 Bake date into snippets
2021-06-13 13:55:00 +03:00

727 B

title, tags, firstSeen, lastUpdated
title tags firstSeen lastUpdated
haveSameContents array,intermediate 2020-01-05T21:40:39+02:00 2020-10-19T22:49:51+03:00

Checks if two arrays contain the same elements regardless of order.

  • Use a for...of loop over a Set created from the values of both arrays.
  • Use Array.prototype.filter() to compare the amount of occurrences of each distinct value in both arrays.
  • Return false if the counts do not match for any element, true otherwise.
const haveSameContents = (a, b) => {
  for (const v of new Set([...a, ...b]))
    if (a.filter(e => e === v).length !== b.filter(e => e === v).length)
      return false;
  return true;
};
haveSameContents([1, 2, 4], [2, 4, 1]); // true