Hello! I understand the logic behind the solution. but for the ES6 syntax solution, I don’t understand why when we generate the sequential number between the range, we use _ for map prototype instead of min. Can anyone explain? Thanks.

function smallestCommons(arr) {

// Setup

const [min, max] = arr.sort((a, b) => a - b);

const range = Array(max - min + 1)

.fill(0)

.map((_, i) => i + min);

In this case, the `_`

is just a place holder. It is saying “I don’t care what this value is because I’m not going to use it but I need some variable name here so I can get to the second parameter”. That is not part of JS but is a convention that programmers sometimes use. (Be aware that there is also a popular library called lodash that is often accessed with `_`

.)

So, that `_`

is just there so they can get to the index.

```
const [min, max] = arr.sort((a, b) => a - b);
```

… get my min and max …

```
const range = Array(max - min + 1)
```

… make me an array of the right size …

```
.fill(0)
```

… fill it with zeros … this is actually an important step, to fill it with *something* or the *map* won’t work properly …

```
.map((_, i) => i + min);
```

… map over those zeros, but I don’t care about those, just add the *min* to the index. Now, since the elements are all zeros, I guess they could have gone:

```
.map((num, i) => num + i + min);
```

but it doesn’t matter because they are all zero and so won’t affect the sum.

thanks so much! now I get it