Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 迭代递归函数_Javascript_Arrays_Object - Fatal编程技术网

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不是一个免费的代码编写服务,它希望您能够这样做。请更新您的问题,以显示您已经尝试过的内容,并显示您在某个应用程序中面临的特定问题。