请补全JavaScript代码,要求将字符串参数URL中的参数解析并以对象的形式返回。
getParams('https://nowcoder.com/online?id=1&salas=1000')
{id:1, salas: 100}
还是有太多基础知识不记得,记录一下
const _getParams = (url) => {
let arr=url.slice(url.lastIndexOf("?")+1).split("&");
let obj={}
url.map(n=>{
let [key,value]=n.split("=")
obj[key]=value
})
return obj
}
_getParams("https://nowcoder.com/online?id=1&salas=1000")
1.**lastIndexOf()**是记录最后一个问号的位置
2.**slice()**表示切片 slice方法并不改变原数组,而是返回新的数组。
slice方法有两个参数,indexStart 和 indexEnd,分别表示截取的起始位置和结束位置,indexStart是必选的,indexEnd是可选的。
所以表示从?开始截取 得到 id=1&salas=1000
3.map Map 是JavaScript中的数据结构,它允许存储【键,值】对,其中任何值都可以用作键或值;Map集合中的键和值可以是任何类型,并且如果使用集合中已存在的键将值添加到Map集合中,新值将替换旧值。
都是循环遍历数组中的每一项。map()会分配内存空间存储新数组并返回