var url = 'zhidao.baidu.com/new?word=js+unction&ie=GBK'
url = url.split('?')[0]
window.history.pushState({}, 0, url)
// 至于你说的要变成zhidao.baidu.com,则再根据 / 来操作
var url = 'zhidao.baidu.com/new?word=js+unction&ie=GBK'
var http_ = url.indexOf('//')>-1?url.split('//')[0]+'//':''
var c = url.indexOf('//')>-1?url.split('//')[1]:url
var cont_ = c.indexOf('/')>-1?c.split('/')[0]:c.indexOf('?')>-1?c.split('?')[0]:c
url = http_+cont_
window.history.pushState({}, 0, url)
我们在处理url的跳转时,往往会在url后面带着很多参数。有时候需要把这些参数转化成对象当作参数进行跳转或其他之用,比如angular2的 routerLink的地址是不带参数的,参数写在 queryParams里,这时候就需要对url进行处理。
当然可能还有其他地方可能会用到此类转换。
下面介绍对于url参数的几种转换方法
1. js处理,利用split()和循环实现
结果 { a: 10 , b :2}
2. 利用querystring
querystring是在node封装好的一个模块,有处理string的方法直接处理这种地址
这种方法可以直接进行处理
参考链接 Query String querystring 模块的使用
3. 利用lodash处理
结果也是正确的。
不过lodash不会,所以把别人提供的方法放在这,再来在细细研究lodash
此方法已更新至文章 Lodash使用入门
参考链接 lodash文档
可以用replace函数去除指定字符串。
1、在body标签和html标签中添加一个script标签,定义一个字符串,这里以“这是个什么演示文本”为例,将此时的字符串输出到页面:
2、输入“str.replace('什么', '')”,str是之前定义的字符串变量名,replace是替换字符串函数,这个函数有两个参数,第一个参数是想要被替换的内容,第二个参数是想要被替换成新的内容,如果第二个为空的字符串,相当于去除想要被替换的内容:
3、replace函数返回的是字符串,这时需要重新将这个字符串赋值给原来的字符串,再将这个字符串输出,这时原文本中的“什么”就被去除了: