Please consider this code:

```
let sites = ['cnn.com', 'nbc.com'];
if (sites.some(site => location.hostname.includes(site))) {
    // Do stuff...
}

```

I understand that the `some()` method checks if an array contains something but I didn't understand the specific usage here:

```
(site => location.hostname.includes(site))

```

This arrow doesn't seem to me like an arrow function because there's no `{}` after it. Also, it seems to me there is a "duplication" of the word *site*.

How is this statement is built and processed, and especially what is the arrow and the seeming duplication?