js 有什么原生的方法可以吧 object 转为 string key=value 形式吗?

2017-12-26 21:49:30 +08:00
 hoythan

例如对象 { test:1, test2:2 }

转成字符串

test=1&test2=2

5042 次点击
所在节点    JavaScript
10 条回复
SoloCompany
2017-12-26 22:11:54 +08:00
Object.entries(o).reduce((arr, [k, v]) => arr.concat(encodeURIComponent(k) + '=' + encodeURIComponent(v)), []).join('&')
hoythan
2017-12-26 22:13:57 +08:00
我以为有原生的方法~,不过这条棒棒的!
airyland
2017-12-26 22:38:37 +08:00
在 Node.js 里自带 querystring 模块

const querystring = require('querystring')
querystring.stringify(obj)
autoxbc
2017-12-26 23:02:57 +08:00
hahasong
2017-12-27 01:18:07 +08:00
jq 的表单序列化也可以
Nioty
2017-12-27 02:55:30 +08:00
用 of 迭代后 join 一下就可以
shyling
2017-12-27 12:43:22 +08:00
Object.keys(a).reduce((a,b) => a+=`${b}=${a[b]}`, '')
8qwe24657913
2018-01-09 23:54:49 +08:00
pmispig
2018-01-10 16:39:30 +08:00
这个是 urlencode 啊,python 里面,js 不知道有没
d41d8cd98f
2018-01-11 10:38:23 +08:00
new URLSearchParams({ test:1, test2:2 }).toString()

只有较新的浏览器才支持: https://caniuse.com/#feat=urlsearchparams

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/417848

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX