JS解析URL参数

作者: 泡沫的快乐 | 来源:发表于2018-07-09 09:39 被阅读10次
    let url = 'http://www.baidu.com/?' +
        'user=huixin&id=123&id=456&city=%E5%8C%97%E4%BA%AC&enabled';
    
    function parseQuery(url) {
        let o = {}
        let queryString = url.split('?')[1]
        if (queryString) {
            queryString
                .split('&')
                .forEach(item => {
                    let [key, val] = item.split('=')                
                    val = val ? decodeURI(val) : true 
                    //          转码         无值赋值true
                    if (o.hasOwnProperty(key)) {
                    //   已有属性转为数组
                        o[key] = [].concat(o[key], val)
                    } else {
                        o[key] = val
                    }
                })
        }
        return o
    }
    
    console.log(parseQuery(url));
    //{ user: 'huixin',
    //  id: [ '123', '456' ],
    //  city: '北京',
    //  enabled: true }
    
    

    相关文章

      网友评论

        本文标题:JS解析URL参数

        本文链接:https://www.haomeiwen.com/subject/zvlzuftx.html