查漏补缺——说说split方法
问题
如题所示
答案
相关源码:
export function param2Obj(url) { const search = url.split('?')[1] if (!search) { return {} } return JSON.parse( '{"' + decodeURIComponent(search) .replace(/"/g, '\\"') .replace(/&/g, '","') .replace(/=/g, '":"') .replace(/\+/g, ' ') + '"}' ) }
这里有一行这样的代码:
const search = url.split('?')[1]
根据上面,我们知道这行代码在字符串中匹配到?
这个符号,然后从分割出来的元素中选取第二个元素(因为数组下标是从0开始的),我们通过一个实验验证我们这个结论是不是对的:
var str1 = 'wwww.huangzihan.top?黄子涵'; console.log("对str1进行split操作:"); console.log(str1.split('?')[1]); console.log(""); var str2 = 'wwww.huangzihan.top?hzh?黄子涵'; console.log("对str2进行split操作:"); console.log(str2.split('?')[1]); console.log(""); var str3 = 'wwww.huangzihan.top?1921323493?黄子涵?hzh'; console.log("对str3进行split操作:"); console.log(str3.split('?')[1]); console.log(""); var str4 = '黄子涵?hzh?1921323493'; console.log("对str4进行split操作:"); console.log(str4.split('?')[1]); console.log(""); var str5 = 'hzh?黄子涵?1921323493'; console.log("对str5进行split操作:"); console.log(str5.split('?')[1]); console.log("");
[Running] node "e:\HMV\JavaScript\JavaScript.js" 对str1进行split操作: 黄子涵 对str2进行split操作: hzh 对str3进行split操作: 1921323493 对str4进行split操作: hzh 对str5进行split操作: 黄子涵 [Done] exited with code=0 in 0.229 seconds
实验证明,我们的想法是正确的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?