给定一个携带参数的字符串url,要求将各参数以对象形式显示。
涉及到的知识点:
indexOf(): 返回调用它的String
对象中第一次出现的指定值的索引。若未找到,返回-1 。
substring() :返回一个新的子字符串。
split() (中文:分裂):使用指定的分隔符字符串将一个String
对象分割成子字符串数组。
decodeURIComponent() :用于解码由encodeURIComponent
方法或其他类似方法编码的部分统一资源标识符(URI)。
完整代码👇
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <!DOCTYPE html> <html> <head> <title>查询字符串参数</title> <script>
var queryString = "https://github.com/search?p=3&q=xd%20u&type=Repositories"
var qs = queryString.indexOf("?")
var newqs = queryString.substring(qs+1) console.log(newqs)
var args = {}
var items = newqs.length ? newqs.split("&") : [] console.log(items) for(let i = 0; i < items.length; i++){ var item = items[i].split("=") var key = decodeURIComponent(item[0]) var value =decodeURIComponent( item[1]) if(key.length){ args[key] = value } } console.log(args)
</script> </head> <body>
</body> </html>
|