Why is my code not passing the test...cant figure out...Please help

Tell us what’s happening:

Your code so far

const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];

const squareList = (arr) => {

“use strict”;

// change code below this line

const squaredIntegers = arr.filter((val) => val > 0 && val % 1 !== 0 ).map((val)=>Math.pow(val,2));

// change code above this line

return squaredIntegers;

};

// test your code

const squaredIntegers = squareList(realNumberArray);

console.log(squaredIntegers);


const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];
const squareList = (arr) => {
  "use strict";
  // change code below this line
   const squaredIntegers = arr.filter((val) => val > 0 && val % 1 !== 0 ).map((val)=>Math.pow(val,2));
  // change code above this line
  return squaredIntegers;
};
// test your code
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/write-higher-order-arrow-functions

One small thing. You’re using the val % 1 to check if a number is an integer, yes? That’s where your error happens. Instead, try using Number.isInteger(), taken from the MDN.