Javascript 迭代递归函数
我知道为此需要使用递归函数。 需要帮助来转换此对象吗Javascript 迭代递归函数,javascript,arrays,object,Javascript,Arrays,Object,我知道为此需要使用递归函数。 需要帮助来转换此对象吗 { '1': {}, '2': { '3': {}, '4': { '6': {}, '7': {} }, '5': { '8': {}, '9': {} } } } 指向此对象数组 [ { key: 1 }, { key: 2, children: [ {key: 3}, {
{ '1': {},
'2': {
'3': {},
'4': { '6': {}, '7': {} },
'5': { '8': {}, '9': {} }
}
}
指向此对象数组
[
{ key: 1 },
{
key: 2,
children: [
{key: 3},
{
key: 4,
children: [{key: 6}, {key: 7}],
},
{
key: 5,
children: [{key: 8}, {key: 9}],
}
}
您可以使用
reduce()
方法创建递归函数
var obj={“1”:{},“2”:{“3”:{},“4”:{“6”:{},“7”:{},“5”:{“8”:{},“9”:{}}
函数f(数据){
返回Object.keys(数据).reduce((r,k)=>{
设o={key:k}
if(Object.keys(data[k])length)o.children=f(data[k]);
r、 推(o)
返回r;
}, [])
}
设结果=f(obj)
console.log(result)
到目前为止您尝试过什么吗?StackOverflow不是一个免费的代码编写服务,它希望您能够这样做。请更新您的问题,以显示您已经尝试过的内容,并显示您在某个应用程序中面临的特定问题。