Implement the filter Method on a Prototype (Arrow Function Style)

Tell us what’s happening:
ok so i passed this with the for loop and ive got close with arrow function i can get it to put [true,true,false,true] into the newArray however i havnt come across a way of adding if statements in i did my research and people said it goes something like => if { (condition) instruction }

Your code so far

for (let i = 0 ; i < this.length ; i++){                   //my working forloop method

 if (callback(this[i])){
    newArray.push(this[i]);
  console.log(newArray)
 }
}

 this.forEach( (i) => newArray.push(callback(i)))             //first atempt at arrow function messing up i know

 this.forEach( (i) => if { (callback(i) === true) newArray.push(this[i])) }  //where im at but syntax is wrong

i did some research and i found a thread on overflow which said when using a if statement in arrow syntax i use {} around the call like above but its showing errors at the first {

also as these methods get rid of the need of for loops is there a similar thing for if statements when using arrow functions?

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype/

If you want to do anything other than return something (to the right of the =>), you will need to surround the content inside { and }.

this.forEach( (i) => {
  // do something
});

what is going on here why does it not display the numbers but empty entires in the array