Find Word Count

JavaScript

//Write a function that counts the specified case sensetive word in a given string and handles cases where there are extra letters between the letters in the word to count.
//Note the letters in the word still have to appear in the correct order and rearrangement of order of letters is not allowed.  
//Below are a set of examples word and string combinations with expected count to better understand the question.
// WORD   -  STRING       -> COUNT
//"HELLO" - "AHBECLDLEOF" -> 1
//"HELLO" - "HHELLLLOO"   -> 1
//"HELLO" - "HELLOHELLO"  -> 2
//"HELLO" - "AHBECLDLEOFAHBECLDLEOF" -> 2

function countWord(wordToFind, stringToScan) {
  if (wordToFind.length === 0) {
  	return 0;
  }
  
  var wordCount = 0;
	var wordIndex = 0;
  var scanIndex = -1;
	var tooLongToBeFound = function() {
  	var letterCountToFind = wordToFind.length - wordIndex;
    var letterCountToScan = stringToScan.length - scanIndex;
  	return letterCountToFind > letterCountToScan;
  }
  while (++scanIndex < stringToScan.length && !tooLongToBeFound()) {
    if (wordToFind.charAt(wordIndex) === stringToScan.charAt(scanIndex)) {
    	wordIndex++;
    }
    
    if (wordIndex === wordToFind.length) {
    	wordCount++;
      wordIndex = 0;
    }
  }
  
  return wordCount;
}