23 lines
508 B
Markdown
23 lines
508 B
Markdown
---
|
|
title: Array intersection
|
|
tags: array
|
|
expertise: intermediate
|
|
firstSeen: 2017-12-17T16:41:31+02:00
|
|
lastUpdated: 2020-10-20T23:02:01+03:00
|
|
---
|
|
|
|
Returns the elements that exist in both arrays, filtering duplicate values.
|
|
|
|
- Create a `Set` from `b`, then use `Array.prototype.filter()` on `a` to only keep values contained in `b`.
|
|
|
|
```js
|
|
const intersection = (a, b) => {
|
|
const s = new Set(b);
|
|
return [...new Set(a)].filter(x => s.has(x));
|
|
};
|
|
```
|
|
|
|
```js
|
|
intersection([1, 2, 3], [4, 3, 2]); // [2, 3]
|
|
```
|