查漏补缺——说说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
实验证明,我们的想法是正确的。
标签:黄子涵,console,log,查漏,hzh,split,补缺,var 来源: https://www.cnblogs.com/Huang-zihan/p/16437651.html