解析url出问题

来源:18-11 面试讲解-10:解析 url 参数

qq_慕沐9294550

2022-02-13

!(function(){
		let a = '?a=10&b=15&'
		let b = a.substr(1)
		console.log(typeof b)
		var result = b.split('&')
		//['a=10', 'b=15', '']
		res = {}
		result.map(item=>{
			const arr = item.split('=')
			let a = arr[0]
			let b = parseInt(arr[1])
			res[a] = b
		})
		return res
		})()
		//{a: 10, b: 15, "": NaN}

老师用你的方法最后打印的就是这样 面试讲解 解析url参数 为什么最后会多出来一项

写回答

1回答

双越

2022-02-14

因为你原始字符串最后有一个 & ,& 之后没有参数。你可以对这种情况做一个处理,判断一下,参数为空的话,就忽略。

PS:以后写代码,不要再用 a b 做变量名,哪怕自己写 demo 也不要用。

0
2
qq_慕沐9294550
!(function(){ let a = '?a=10&b=15&' const aresult = a.lastIndexOf('&') if(aresult !== -1){ var stringlist = a.slice(0,a.length-1) } console.log(stringlist) let b = stringlist.substr(1) var result = b.split('&') //['a=10', 'b=15', ''] res = {} result.map(item=>{ const arr = item.split('=') let a = arr[0] let b = parseInt(arr[1]) res[a] = b }) return res })() 成了 谢谢老师
2022-02-14
共2条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4713 学习 · 1683 问题

查看课程