# Functional Programming - Use Higher-Order Functions map, filter, or reduce to Solve a Complex Problem

This worked, but not until I changed the line

``````  return filteredNum^2;
``````

to

``````  return filteredNum*=filteredNum;
``````

Why does the x^2 not work in place of x*x?

``````  **Your code so far**
``````
``````const squareList = arr => {
// Only change code below this line
let result=[];
result = arr.filter(checkNum);

function checkNum(num) {
return num > 0  && num*10 % 10==0;
}

let squaredIntegers=[];
squaredIntegers= result.map(sqNum);

function sqNum(filteredNum){
return filteredNum*=filteredNum;
}
//console.log(result);
return squaredIntegers;
// Only change code above this line
};

const squaredIntegers = squareList([-3, 4.8, 5, 3, -3.2]);
console.log(squaredIntegers);
``````
``````  **Your browser information:**
``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36`

Challenge: Functional Programming - Use Higher-Order Functions map, filter, or reduce to Solve a Complex Problem