JS解析URL参数

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 }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容