1. let url = 'http://www.domain.com/?user=anonymous&id=123&id=456&city=%E5%8C%97%E4%BA%AC&enabled';
    2. console.log(parseParam(url));
    3. /* 结果
    4. { user: 'anonymous',
    5. id: [ 123, 456 ], // 重复出现的 key 要组装成数组,能被转成数字的就转成数字类型
    6. city: '北京', // 中文需解码
    7. enabled: true, // 未指定值得 key 约定为 true
    8. }
    9. */
    10. function parseParam(url) {
    11. let params = url.split('?')[1], op = params.split('&'), res = {}
    12. for (let i of op) {
    13. let item = i.split('='), a = item[0]
    14. let b = !/^d+$/.test(item[i]) ? decodeURIComponent(item[1]) : parseFloat(item[1])
    15. b = item.length !== 2 ? true : b
    16. if (!res.hasOwnProperty(a)) {
    17. res[a] = b
    18. } else {
    19. res[a] = [res[a], b]
    20. }
    21. }
    22. return res
    23. }