首页 > 解决方案 > 如何将字符串转换为具有键值对的对象

问题描述

我有一个看起来像这样的字符串:

'a=aaa,bbb,ccc&b=aaa,bbb,ccc&c=aaa,bbb,ccc'

我想将其更改为如下所示的对象:

{ a: 'aaa, bbb, ccc', b: 'aaa, bbb, ccc', c: 'aaa, bbb, ccc' }

我曾尝试在&then上进行拆分,=但这会导致:

[ ['a', 'aaa','bbb','ccc'], ['b', 'aaa','bbb','ccc'], ['c', 'aaa','bbb','ccc' ] ]

标签: javascriptarraysobject

解决方案


您可以只使用URLSearchParams

var params = new URLSearchParams('a=aaa,bbb,ccc&b=aaa,bbb,ccc&c=aaa,bbb,ccc');
var obj = Object.fromEntries(params.entries())
console.log(obj);

如果您的浏览器没有这些功能,您可以使用 polyfill:

https://www.npmjs.com/package/url-search-params-polyfill https://github.com/feross/fromentries


推荐阅读