JSFiddle - React, Tailwind, and code Playground

by Dmitry Morar

JavaScript

var searchInsert = function(nums, target) {
    let lastEl = nums.length - 1;
    let firstEl = 0;
    let sort = Math.floor(lastEl  / 2);
    
    if (target >= nums[lastEl]) { //срвниваем с последним элементом  
        return lastEl + 1;
    } else if (target <= nums[firstEl]) { // сравнивем с первым элементом 
        return firstEl;
    } else  {
        if (nums[sort] === target) {
            return sort;
        } else if (nums[sort] < target) {
            return sort + 1;
        } else {
            return sort - 1;
        }
    }
     return sort 
};

/* alert(searchInsert([1, 3, 5, 7], 2)); */


function BinarySearch(t,A)         // t - искомый элемент,
{                                  // A - упорядоченный массив, в котором ищем.
    var i = 0, j = A.length-1, k;   

    while (i <= j)
    {  
    	k = Math.floor((i+j)/2);
    	if (t === A[k]) return k;
    	else if (t < A[k]) j = k-1;
      else i = k+1;
    }
                                   // На выходе индекс искомого элемента.
    return -1;                     // Если искомого элемента нет в массиве, то -1.
}

alert(BinarySearch(1, [1, 3, 4]))