So, I was tackling the “Write Higher Order Arrow Functions” challenge, and while unfortunately, I wasn’t able to solve it, even looking at the basic solution didn’t clarify everything. More specifically, there’s this line that while I can understand *what* it does, I don’t understand *why* it does what it does in the context of the challenge.

Here is the proposed solution:

```
const squareList = (arr) => {
"use strict";
const squaredIntegers = arr.filter( (num) => num > 0 && num % parseInt(num) === 0 ).map( (num) => Math.pow(num, 2) );
return squaredIntegers;
};
```

And here is the snippet I can’t grasp:

```
&& num % parseInt(num) === 0 )
```

Thanks in advance for any answer!