로메오의 블로그

[재귀함수] 트리 구조를 리스트 구조로 변환 본문

Frontend/ETC

[재귀함수] 트리 구조를 리스트 구조로 변환

romeoh 2021. 11. 4. 09:50
반응형

트리구조 데이터 준비

var data = {
      id: '1',
      children: [
        {
          id: '2',
          children: [
            {
              id: '4',
              children: [
                {
                  id: '5'
                },
                {
                  id: '6'
                }
              ]
            },
            {
              id: '7'
            }
          ]
        },
        {
          id: '3',
          children: [
            {
              id: '8'
            },
            {
              id: '9'
            }
          ]
        }
      ]
};

 

재귀함수

var array = []
var getAllRoles = item => {
    array.push(item);
    if (item.children) {
        return item.children.map(i => getAllRoles(i));
    }
}
getAllRoles(data)
console.log(array)

>> (9) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]

 

 

반응형
Comments