数字马力251028 | 获取url参数
示例
    function getUrlParam(sUrl, sKey) {
        //1、获取?的下标
        const strStart=sUrl.indexOf("?")
        if(strStart===-1){
            return sKey?'':{}
        }
        //2、获取#的下标
        const strEnd=sUrl.indexOf("#")>strStart?sUrl.indexOf("#"):sUrl.length
        //3、获取参数字符串
        const paramStr=sUrl.substring(strStart+1,strEnd)
        const paramArr=paramStr.split("&")
        let result={}
        //4、遍历参数数组,分割每个参数的key和value,存入result
        paramArr.forEach(item=>{
            const [key,value]=item.split("=")
            // 处理值为数字的情况
            let processedValue = value;
            if (/^\d+$/.test(value)) {  // 如果值全是数字
               processedValue = Number(value);  // 转换为数字
            }
            if (key in result) {
                // 如果已存在该键,则转为数组或添加到数组
                if (Array.isArray(result[key])) {
                    result[key].push(processedValue);
                } else {
                    result[key] = [result[key], processedValue];
                }
            } else {
                // 首次出现,直接赋值
                result[key] = processedValue;
            }
        })
        if(sKey){
            return result[sKey]||''
        }else{
            return result
        }
    }
    console.log(getUrlParam('http://www.nowcoder.com?key=1&key=2a&key=3&test=4#hehe', 'key'));
    // 输出: [1, 2, 3]
 查看12道真题和解析
查看12道真题和解析 
  投递中国电信等公司10个岗位
投递中国电信等公司10个岗位