我有一個看起來像這樣的字符串:'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
提交
取消
