前端剑解之解析URL参数

62 阅读1分钟

js 解析url参数是常见面试题之一,抛出两个拙劣方法,大家有好的技巧或者有更好的方法,欢迎在评论区讨论!


const url = `https://www.baidu.com/s?tn=15007414_6_dg&ie=utf-8&wd=baidu`

function getParams(url) {
    const params = new URLSearchParams(url);
    return Object.fromEntries(params.entries())

}

console.log(getParams(url));


function getParams1(url) {

    if(url.indexOf(`?`)){
        const str = url.split(`?`)[1];
        const arr = str.split(`&`);
        const res = {}
        arr.forEach(item => {
            const key = item.split('=')[0]
            const value = item.split('=')[1]
            res[key] = decodeURIComponent(value)
        })
        return res
    }




}
console.log(getParams1(url));