In JavaScript, is a that loops over an array of elements. It takes a callback as a parameter and applies it to every element in the array. forEach() FUNCTION I know that you landed on this page to know the direct way to break from , but I’m sorry to tell you that . As : forEach() you can’t MDN loop other than by throwing an exception. If you need such behavior, the method is the wrong tool. There is no way to stop or break a forEach() forEach() Having said that, you shouldn’t use if you know previously that you might need to break from the loop. Instead, you should use , . forEach() for...of that’s the perfect solution However, for just the sake of learning, let’s introduce some workarounds. First of all, let’s consider the following example as a basis: const arr = [1, 2, 3, 4], doubled = []; arr.forEach(num => { doubled.push(num * 2); }); console.log(doubled); // [ 2, 4, 6, 8 ] Consider the case, you want to break if the element was . 3 Using For…Of Instead As I said, that’s the recommended solution as you can break from the loop easily using the keyword. break const arr = [1, 2, 3, 4], doubled = []; for (const num of arr) { if (num === 3) break; doubled.push(num * 2); } console.log(doubled); // [ 2, 4 ] Using Every() Or Some() Instead In JavaScript, and are two functions like , the difference is that: every() some() forEach() : Returns true if callback returns true. every() every : Returns true if one callback returns true. some() at least Fortunately, we can use these facts to break the loop as follows: : You should return at the element you want to break out. every() false : You should return at the element you want to break out. some() true Firstly, let’s use : every() const arr = [1, 2, 3, 4], doubled = []; arr.every(num => { if (num === 3) return false; doubled.push(num * 2); return true; }) console.log(doubled); // [ 2, 4 ] Secondly, let’s use : some() const arr = [1, 2, 3, 4], doubled = []; arr.some(num => { if (num === 3) return true; doubled.push(num * 2); return false; }) console.log(doubled); // [ 2, 4 ] Using A Variable Helper In this workaround, you retain using the function. In addition, you use a variable that controls the flow. forEach() const arr = [1, 2, 3, 4], doubled = []; let shouldBreak = false; // Variable helper arr.forEach(num => { if (num === 3) shouldBreak = true; if (shouldBreak === false) doubled.push(num * 2); }) console.log(doubled); // [ 2, 4 ] Conclusion In this article, we knew that there is no direct way to break from the function. forEach() Then, we knew that it is preferable to use instead to loop over an array of elements. for...of Finally, we introduced some workarounds that you can use to break from the function, like using other functions like or , or by using a variable helper that controls the flow. forEach() every() some() Also published here. If you found this article useful, check out this article as well: MongoDB GridFS Made Simple Thanks a lot for staying with me up till this point. I hope you enjoy reading this article.