猿问

如何使用键值对将字符串转换为对象

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

'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' ] ]



拉风的咖菲猫
浏览 1372回答 4
4回答

慕容森

如果您只想使用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,ccclet 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)

互换的青春

您可以像这样通过生成的数组进行迭代 -var&nbsp;myObj&nbsp;=&nbsp;{};for&nbsp;(var&nbsp;i=0;&nbsp;i<arr.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(var&nbsp;j=0;&nbsp;j<arr[i].length;&nbsp;j++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;newProp&nbsp;=&nbsp;arr[i].shift();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myObj[newProp]&nbsp;=&nbsp;&nbsp;arr[i].join() &nbsp;&nbsp;&nbsp;&nbsp;}}没有测试它,但我认为这将有效。
随时随地看视频慕课网APP

相关分类

Java
我要回答