Intersection check with array

Hi, when I am trying to check intersection between square graphic and array of triangle graphics, only the last triangle intersecting is true.
What’s going on?
Is my function wrong or is the reason in another piece of code?

checkHeroCollideObstacle(scene){
  scene.trianglesHitBox.forEach((triangle)=>{
   if(Phaser.Geom.Intersects.RectangleToTriangle(scene.heroHitBox,triangle))
//it's always just the last object on the array
      // this.heroCollideObstacle(scene)
      })
    }