标题:解析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)