鍍金池/ 問答/HTML/ 急,請問如何循環(huán)遞歸將數(shù)組中的數(shù)組的所有id放入另一個數(shù)組

急,請問如何循環(huán)遞歸將數(shù)組中的數(shù)組的所有id放入另一個數(shù)組

感謝,剛發(fā)布就已經(jīng)想到了。
data: [

{
    value: '老板'
    children: [
        {
            value:'黃經(jīng)理',
                children: [
                    {value: '黃經(jīng)理下屬主管'}
                ]
        },
        {
            value:'張經(jīng)理',
                children: [
                    {value: '張經(jīng)理下屬主管'}
                ]
        },
    ]
}

]
請問如何判斷數(shù)組下有children數(shù)組,然后將里面的value放入一個新數(shù)組?

回答
編輯回答
醉淸風
let data = {
    value: '老板',
    children: [{
            value: '黃經(jīng)理',
            children: [
                { value: '黃經(jīng)理下屬主管' }
            ]
        },
        {
            value: '張經(jīng)理',
            children: [
                { value: '張經(jīng)理下屬主管' }
            ]
        },
    ]
}


function f({ value, children }, array = []) {
    array.push(value)
    if (children && children.length > 0) {
        for (let child of children) {
            f(child, array)
        }
    }
    return array;
}

console.log(f(data))//[ '老板', '黃經(jīng)理', '黃經(jīng)理下屬主管', '張經(jīng)理', '張經(jīng)理下屬主管' ]
2017年1月31日 08:54
編輯回答
陌璃
var data = [

  {
    value: '老板',
    children: [
      {
        value: '黃經(jīng)理',
        children: [
          { value: '黃經(jīng)理下屬主管' }
        ]
      },
      {
        value: '張經(jīng)理',
        children: [
          { value: '張經(jīng)理下屬主管' }
        ]
      },
    ]
  }
]
var arr = []
function f(items) {
  items.forEach(item => {
    arr.push(item.value)
    if (item.children) {
      f(item.children)
    }
  })
}
f(data)
console.log(arr)
2017年7月4日 22:24
編輯回答
哎呦喂
var m = [];
function test(arr){
    arr.forEach(v=>{
        m.push(v.value);
        f(v.children)test(v.children)
    })
}
2017年6月29日 02:33