JavaScript - Trouver le mot le plus long dans une chaîne de caractères

J’essaie de trouver le mot le plus long dans une chaîne de caractères, mais il renvoie toujours le premier mot. Avez-vous une idée ?

Voici mon code :

function bigWord(str) 
{
  var words = str.split(' ');
  var big = 0;

  for (var i=0; i<words.length; i++) {
    if (words[i].length > big) {
      big = words[i].length;
    }

    return big;
  }
}

return devrait être en dehors de la boucle for. Il n’exécute que la première boucle, puis s’arrête.

function bigWord(str) 
{
  var words = str.split(' ');
  var big = 0;

  for (var i=0; i<words.length; i++) {
    if (words[i].length > big) {
      big = words[i].length;
    }
  }
  return big;
}

Voici un solution si simple:

function findBigWord(str){
  return str.match(/\w+/g).reduce((p,c) => p.length > c.length ? p.length:c.length);
}