我有一个看起来像这样的字符串:'a=aaa,bbb,ccc&b=aaa,bbb,ccc&c=aaa,bbb,ccc'我想把它改成一个看起来像这样的对象:{ a: 'aaa, bbb, ccc', b: 'aaa, bbb, ccc', c: 'aaa, bbb, ccc' }我试过拆分&然后然后=导致:[ ['a', 'aaa','bbb','ccc'], ['b', 'aaa','bbb','ccc'], ['c', 'aaa','bbb','ccc' ] ]
4 回答
慕容森
TA贡献1853条经验 获得超18个赞
如果您只想使用split(),则需要使用拆分键和值来创建对象。您可以在reduce循环(或a forEach())中执行此操作:
s = 'a=aaa,bbb,ccc&b=aaa,bbb,ccc&c=aaa,bbb,ccc'
let pairs = s.split('&') // each pair is like a=aaa,bbb,ccc
let obj = pairs.reduce((obj,data)=> {
let [k, v] = data.split('=') // split each pair into key/value
obj[k] = v // add the key to the object
return obj
}, {})
console.log(obj)
互换的青春
TA贡献1797条经验 获得超6个赞
您可以像这样通过生成的数组进行迭代 -
var myObj = {};for (var i=0; i<arr.length; i++) { for (var j=0; j<arr[i].length; j++) { var newProp = arr[i].shift(); myObj[newProp] = arr[i].join() }}
没有测试它,但我认为这将有效。
添加回答
举报
0/150
提交
取消