A priori une boucle forEach ne peut pas être stoppée par un return. La boucle parcourt donc tous les éléments du tableau, puis le script continue et exécute donc le return false. Il faut peut-être essayer avec une variable booléenne initialisée à false, qui se met à true quand la condition est vérifiée et qu'on retourne à la fin de la fonction.
"Commencer est facile, persévérer est un art."