split方法和join方法区别
- join()把一个数组的所有元素放入一个字符串里面(按照需要分割的标识)
- split()方法用来把一个字符串分割成字符串数组 (按照需要分割的标识)
join()
const liyue3c = ['hutao', 'xiao', 'ganyu']
const liyue3c_join = liyue3c.join(',')
console.log('liyue3c_join:', liyue3c_join)
结果如下:
liyue3c_join: hutao, xiao, ganyu,
split()
const liuxingzhanshen = 'xingqiu&xiangling&bannite&shatang'
const liuxingzhanshen_split = liuxingzhanshen.split('&')
console.log('liyue3c_split:', liuxingzhanshen_split)
结果如下:
iyue3c_split: ['xingqiu', 'xiangling', 'bannite', 'shatang'],
split方法的常用场景:
获取一个url并把上面的多个参数提取出来,以对象的形式储存;
常用场景 获取url上的参数 并用对象展示出来 [{token:123} {policyNo:456}]
const url = 'http://localhost:8080?token=123&policyNo=456'
第一步:获取后半部分
// url.split("?") = [ 'http://localhost:8080', 'token=123&policyNo=456' ] 要取第1项
const params = url.split('?')[1] // 第1项为:token=123&policyNo=456
第二步:按照&符号分割开来
const params_split = params.split('&')
// console.log("params_split:",params_split);
第三步:循环每一项,再次通过等号进行分割
等号左边为键,右边为值;最后储存到一个数组中
let arr = []
params_split.forEach((item) => {
let obj = {}
obj[item.split('=')[0]] = item.split('=')[1]
arr.push(obj)
})
console.log('arr:', arr)
结果如下:
arr: [ { token: '123' }, { policyNo: '456' } ]