whole_func_string: function(array, searchElement) {
          var minIndex = 0;
          var maxIndex = array.length - 1;
          var currentIndex;
          var currentElement;
       
          while (minIndex <= maxIndex) {
              currentIndex = (minIndex + maxIndex) / 2 | 0;
              currentElement = array[currentIndex];
       
              if (currentElement < searchElement) {
                  minIndex = currentIndex + 1;
              } else if (currentElement > searchElement) {
                  maxIndex = currentIndex - 1;
              } else {
                  return currentIndex;
              }
          }
       
          return -1;
      }
func_code_string: function(array, searchElement) {
          var minIndex = 0;
          var maxIndex = array.length - 1;
          var currentIndex;
          var currentElement;
       
          while (minIndex <= maxIndex) {
              currentIndex = (minIndex + maxIndex) / 2 | 0;
              currentElement = array[currentIndex];
       
              if (currentElement < searchElement) {
                  minIndex = currentIndex + 1;
              } else if (currentElement > searchElement) {
                  maxIndex = currentIndex - 1;
              } else {
                  return currentIndex;
              }
          }
       
          return -1;
      }
func_documentation_string: Performs a binary search on the host array.
  
  Thanks to Oliver Caldwell for this snippet, https://oli.me.uk/2013/06/08/searching-javascript-arrays-with-a-binary-search/
  
  @param {*} array The array to search.
  @param {*} searchElement The item to search for within the array.
  @return {Number} The index of the element which defaults to -1 when not found.