1.用split方法分割求出所有参数。
2.分两种情况,有指定参数和无指定参数。
3.分情况求出结果,处理结果返回指定格式数据。
getUrlParam (sUrl, sKey) { var paramArr = sUrl.split('?')[1].split('#')[0].split('&') // 用split方法分割求出所有参数 if (sKey) { // 有指定参数 var result = [] for (let i = 0; i < paramArr.length; i++) { const element = paramArr[i].split('=') const tempItem = element[0] if (tempItem === sKey) { // 判断和指定参数是否相同 result.push(element[1]) } } switch (result.length) { // 结果处理,返回指定结果 case 0: return '' case 1: return result[0] default: return result } } else { // 没有指定参数 var objResult = {} for (let i = 0; i < paramArr.length; i++) { const element = paramArr[i].split('=') if (!(element[0] in objResult)) { // 判断键是否存在 objResult[element[0]] = [] } objResult[element[0]].push(element[1]) } return objResult } }