UNPKG

js-fns

Version:

Modern JavaScript utility library focused on the build size

52 lines (45 loc) 896 B
/** * @internal */ /** * @internal */ /** * @internal */ /** * @internal */ /** * Creates an array with elements present in all given arrays. * * @param arrays - The array of arrays of elements to get elements from * @returns An array with elements present in all given arrays * * @public */ /** * @category Array * @internal */ export default function intersection() { for ( var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++ ) { arrays[_key] = arguments[_key] } var sets = arrays.map(function (array) { return new Set(array) }) var biggestArray = arrays.sort(function (a, b) { return a.length - b.length })[0] if (!biggestArray || !biggestArray.length) return [] return biggestArray.filter(function (element) { return sets.every(function (set) { return set.has(element) }) }) }