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