Can forEach in JavaScript make a return? [duplicate]

You can use indexOf instead https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf

function fn(array) {
  return (array.indexOf(2) === -1);
}

Also from the documentation for forEach – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

Note: There is no way to stop or break a forEach() loop other than by
throwing an exception. If you need such behaviour, the .forEach()
method is the wrong tool, use a plain loop instead.

So, the return value cannot be used the way you are using it. However you could do a throw (which is not recommended unless you actually need an error to be raised there)

function fn(array) {
  try {
      array.forEach(function(item) {
         if (item === 2) throw "2 found";
      });
  }
  catch (e) {
    return false;
  }

  return true;
}

Leave a Comment