SOURCE

var searchInsert = function(nums, target) {
    if (nums.indexOf(target) != -1) {
        return nums.indexOf(target);
    } else {
        for (var i = 0; i < nums.length; i++) {
            if (nums[i] > target) {
                return i;
            }
        }
    }
    return nums.length;
};
var searchInsert1 = function(nums, target) {
    if (nums.indexOf(target) != -1) {  // 数组中存在目标元素
        return nums.indexOf(target);
    } else {  // 数组中不存在目标元素  故需要找到插入的位置
        var start = 0, end = nums.length - 1;
        if (target < nums[start]) {  // 插入位置在数组首部
            return 0;
        } else if (target > nums[end]) {  // 插入位置在数组尾部
            return nums.length;
        } else {  // 插入位置在数组内部
            while (start < end - 1) {  // 此处可采用普通遍历也可采用二分法遍历查找  但当数组元素相当多的时候 二分法查找效率更高  star与end到最后始终会想差一
                var center = parseInt((start + end) / 2);
                if (nums[center] > target) {
                    end = center;
                } else if (nums[center] < target) {
                    start = center;
                } else {
                    return center;
                }
            }
            if (nums[end] >= target) {
                return end;
            } else {
                return end - 1;
            }
        }
        
    }
};
console.log(searchInsert([1,3,5,6], 2));
console 命令行工具 X clear

                    
>
console