如何在JavaScript中将对象转换为参数
作为JavaScript开发人员,您通常需要构建URL和查询字符串参数。构造查询字符串参数的一种合理方法是使用具有键值对的单层对象。
在本指南中,我们将介绍如何转换对象的各种方法:
var params = {
a: 1,
b: 2,
c: 3
};
到这样的查询字符串:
"a=1&b=2&c=3"
如果您正在使用现代浏览器(或节点),您可以使用它map
来创建一个字符串数组a=1
,然后使用join
它们将它们连接在一起&
。
ES6
var queryString = Object.keys(params).map(key => key + '=' + params[key]).join('&');
ES5
var queryString = Object.keys(params).map(function(key) {
return key + '=' + params[key]
}).join('&');
如果您是那种使用jQuery的人,那么您可以随时获得一个解决方案:
var queryString = $.param(params);
如果您正在使用节点,则可以使用查询字符串模块:
const querystring = require('querystring');
let queryString = querystring.stringify(params);
如果你知道你的密钥和值需要编码,你应该这样使用encodeURIComponent
:
var queryString = Object.keys(params).map((key) => {
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key])
}).join('&');
您还感兴趣的文章
- Outlet 如何使用-React Router
- 函数的扩展_ECMAScript 6 入门
- Set 和 Map 数据结构_ECMAScript 6 入门
- 正则的扩展_ECMAScript 6 入门
- 什么是 java.lang.NullPointerException空指针异常,我该如何解决?
- Iterator 和 for…of 循环_ECMAScript 6 入门
- 如何比较对比Java中的字符串相等?
- 在线图片格式转换工具
- let 和 const 命令_ECMAScript 6 入门
- number数值的扩展_ECMAScript 6 入门
- 对象的新增方法_ECMAScript 6 入门
- useMatch 如何使用-React Router