function insertSorted(arr, item, compareFunc) {
  if (arr.length === 0) {
    return arr.push(item);
  }
  let position = binarySearch(arr, item, compareFunc);
  if (position < 0) {
    position = ~position;
  }
  arr.splice(position, 0, item);
}
function insertSorted(arr, item, compareFunc) {
  if (arr.length === 0) {
    return arr.push(item);
  }
  let position = binarySearch(arr, item, compareFunc);
  if (position < 0) {
    position = ~position;
  }
  arr.splice(position, 0, item);
}
function insertSorted ( arr , item , compareFunc ) { if ( arr . length === 0 ) { return arr . push ( item ) ; } let position = binarySearch ( arr , item , compareFunc ) ; if ( position < 0 ) { position = ~ position ; } arr . splice ( position , 0 , item ) ; }
Inserts the value in the position determined by its natural order determined by the compare func
@param {Array} arr
@param item
@param {function} compareFunc
Inserts the value in the position determined by its natural order determined by the compare func