10.12刷题

102 阅读1分钟

获取url"www.baidu.com/index.html" 的后缀html

主要思路:

获取最后一个点后面的内容切片下来

slice(3):从第三个开始切一直到末尾(包括第三个)

lastindexof("."):最后一个.的位置,返回该位置的索引

function getPoint(url){
    if(typeof(url)!='string'){
        return ''
    }

    return url.slice(url.lastIndexOf(".")+1)
}

var fileName = "https://www.baidu.com/index.html";
console.log(getPoint(fileName));

实现async函数,使其可以等待两秒后继续执行下文。

分片计算文件md5和上传分片文件有用到

function wait(ms){
    return new Promise(resolve=>setTimeout(resolve,ms))
}

async function run(){
    console.log('start');
    await wait(2000)
    console.log('finish');
}

run()

js实现二分查找法(非递归)

主要思路:

初始化一个start为0和end为长度-1,循环判断条件为start<=end,每次进入循环重新计算中间值,如果中间值等于待查找数就输出,如果大于中间值,start=mid+1,如果小于中间值,end=mid-1,如此循环。

function search(arr,key){
    var start = 0
    var end = arr.length-1
    
    while(start<=end){
        var mid = parseInt((start+end)/2)

        if(key==arr[mid]){
            return mid
        }
        else if(key<arr[mid]){
            end=mid-1
        }else{
            start=mid+1
        }
    }
    return -1

}
var arr = [0,13,21,35,46,52,68,77,89,94];
console.log(search(arr,68));