npm: query-string
2021-03-01 本文已影响0人
Small_Song
安装
npm i --save-dev query-string
常用API
1. qs.parse(string, [options])
import qs from 'query-string';
location.search // ?name=jim
location.hash // #token=123
qs.parse('?name=jim') // {name: 'jim'}
qs.parse('#token=123') // {token: '123'}
qs.parse('name=jim&name=lily&age=22') // {name: ['jim', 'lily'], age: 22}
options是一个 Object,可选值:decode,arrayFormat。查看详情
2. qs.stringify(object, [options])
import qs from 'query-string';
qs.stringify({name: 'jim', age: 22}); // 'age=22&name=jim'
qs.stringify({name: ['jim', 'lily'], age: 22}); // 'age=22&name=jim&name=lily'
options是一个 Object,可选值:strict,encode,arrayFormat,sort。
3. qs.parseUrl(string, [options])
qs.parseUrl('http://www.baidu.com?name=jim');
// {url: 'http://www.baidu.com', query: {name: 'jim'}}
用 a 链接解析 url
这是不用第三方库的时候解析 url 的一种方法
function parseUrl(url) {
let a = document.createElement('a');
a.href = url;
return {
host: a.hostname,
port: a.port,
query: a.search,
hash: a.hash.replace('#', ''),
params: (() => {
let searchArr = a.search.replace(/^\?/, '').split('&');
let params = {};
searchArr.forEach(item => {
let [key, value] = item.split('=');
params[key] = value;
});
return params;
})()
}
}