const intersection = (a, b) => { b = new Set(b); // recycling variable return [...new Set(a)].filter(e => b.has(e)); }; console.log(intersection([1, 2, 3, 1, 1], [1, 2, 4])); // Array [ 1, 2 ]