JavaScript:不使用'eval'将平面数组转换为树状结构`
我有一个这样的数组[aaa,aaa,bbb,ccc] 我需要的是将其转换为如下形式:JavaScript:不使用'eval'将平面数组转换为树状结构`,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我有一个这样的数组[aaa,aaa,bbb,ccc] 我需要的是将其转换为如下形式: { "aaa" : { "aaa" : { "bbb" : { "ccc" : 1 } } } } 我知道eval可以做到这一点,但是有没有更好的解决方案 感谢您阅读我的帖子。使用。在每次迭代中,返回一个对象,前面的结果作为当前属性的值: 常数arr=[aaa、aaa、bbb、ccc] const result=arr.reduceRightr,s=>{[s]:r},1
{ "aaa" :
{ "aaa" :
{ "bbb" :
{ "ccc" : 1 }
}
}
}
我知道eval可以做到这一点,但是有没有更好的解决方案
感谢您阅读我的帖子。使用。在每次迭代中,返回一个对象,前面的结果作为当前属性的值:
常数arr=[aaa、aaa、bbb、ccc]
const result=arr.reduceRightr,s=>{[s]:r},1
控制台。日志结果使用。在每次迭代中,返回一个对象,前面的结果作为当前属性的值:
常数arr=[aaa、aaa、bbb、ccc]
const result=arr.reduceRightr,s=>{[s]:r},1
console.logresultw你为什么要找eval来做这件事?可能是重复的?@T.J.Crowder也许我不知怎么被困住了。在我的大脑中,我正在使用JS没有的指针,或者将它转换成类似evalreturn[aaa][aaa][bbb][ccc];。我知道这很愚蠢…@talves我不认为这是重复的,我正在将数组转换为树,而不是对象。好吧,看起来你是对的。你为什么要用eval来做这件事?可能是重复的?@t.J.Crowder也许我不知何故被困住了。在我的大脑中,我正在使用JS没有的指针,或者将它转换成类似evalreturn[aaa][aaa][bbb][ccc];。我知道这很愚蠢…@talves我不认为这是重复的,我正在将数组转换为树,而不是对象。好吧,看起来你是对的。