js解析url query_Url参数处理方法(js,querystring,lodash)
时间: 2023-12-10 11:04:10 浏览: 42
处理 URL Query 参数可以使用 JavaScript 内置的 `URLSearchParams` 对象或者第三方库 `querystring` 或 `lodash`。
以下是使用 `URLSearchParams` 对象的示例代码:
```javascript
const params = new URLSearchParams(window.location.search);
// 获取参数值
const foo = params.get('foo');
const bar = params.get('bar');
// 设置参数值
params.set('baz', '123');
// 删除参数
params.delete('foo');
// 将参数对象转换为字符串
const paramString = params.toString();
```
以下是使用 `querystring` 库的示例代码:
```javascript
const querystring = require('querystring');
const params = querystring.parse(window.location.search.slice(1));
// 获取参数值
const foo = params.foo;
const bar = params.bar;
// 设置参数值
params.baz = 123;
// 删除参数
delete params.foo;
// 将参数对象转换为字符串
const paramString = querystring.stringify(params);
```
以下是使用 `lodash` 库的示例代码:
```javascript
const _ = require('lodash');
const params = _.chain(window.location.search.slice(1))
.split('&')
.map(_.partial(_.split, _, '=', 2))
.fromPairs()
.value();
// 获取参数值
const foo = params.foo;
const bar = params.bar;
// 设置参数值
params.baz = 123;
// 删除参数
delete params.foo;
// 将参数对象转换为字符串
const paramString = _.chain(params)
.toPairs()
.map(_.partial(_.join, _, '=', 2))
.join('&')
.value();
```
以上三种方法都可以实现 URL Query 参数的处理,具体使用哪一种方法取决于个人喜好和项目需求。