30秒学会 JavaScript 片段 · 2018年6月26日

30秒学会 JavaScript 片段 – intersection

Returns a list of elements that exist in both arrays.

Create a Set from b, then use Array.prototype.filter() on a to only keep values contained in b.

代码片段

const intersection = (a, b) => {
  const s = new Set(b);
  return [...new Set(a)].filter(x => s.has(x));
};

使用样例

intersection([1, 2, 3], [4, 3, 2]); // [2, 3]