获取URL网址后面的参数转换成对象
思路:
1.先截取网址?后面的字符串
2.然后再用split将字符串转成数组
3.遍历数组,然后把元素赋值给对应的属性名或属性值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
const url = 'http://www.baidu.com?name=admin&pwd=123456&gender=男&tel=13812341234'
const obj = {}
function searchToObj(str) {
//获取?的下标
const index = str.indexOf('?')
//截取字符串
const newStr = str.substring(index + 1)
//在用split将字符串分割为数组
const arr = newStr.split('&')
//遍历数组
arr.forEach(item => {
//在将字符串分割为数组
const newArr = item.split('=')
// 将第一个元素赋值给对象的属性名,第二个值给对象的属性值
obj[newArr[0]] = newArr[1]
});
console.log(obj);
}
searchToObj(url)
</script>
</body>
</html>