标题:解析URL
题目描述:请实现一个函数 parseUrl,将一段字符串解析为object。
url:http://www.xiyanghui.com/product/list?id=123456&sort=discount#title
funtion parseUrl (url) { let arr = {} let urllist = url.split('?') let urlitem = urllist[1] let arrlist = urlitem.split('&') for(let [index, arrlist] of urlitem.entries()) { let arritem = arrlist.split('=') arr[arritem[0]] = arr[arritem[1]] } return arr; } var urls = 'http://www.xiyanghui.com/product/list?id=12345678&sort=discount#title' console.log(parseUrl(urls))
let _url = 'http://www.xiyanghui.com/product/list?id=123456&sort=discount#title' let _tempArray1 = _url.split('?') let _path = _tempArray1[0] let _hashPosition = _url.search('#') let _queryArray = _tempArray1[1].split('&') let _queryMapper = _queryArray.reduce((total, current) => { let _arr = current.split('=') let _position = _arr[1].search('#') total[_arr[0]] = -1===_position? _arr[1]: _arr[1].slice(0, _position) return total }, {}) let _hash = _url.slice(_hashPosition + 1) let _result = { path: _path, query: _queryMapper, hash: _hash } console.log('_____RESULT', _result)