天天看點

js解析遞歸json

日常在背景管理系統中我們常用到的有遞歸json。

前端根據後端給的接口擷取到目前背景管理系統左側菜單列json。而這個json是一個遞歸數組。

類似于如下:

var data = [
    {
        type:'1',
        children:[
            {
                type:'2',
                children:[
                    {
                        type:'3'
                    }
                ]    
            }
            
        ]
    }

]      

當我們要點選每個菜單的時候擷取目前的type 屬性,這時候就比較懵逼了,我們怎麼做呢?

var arr = [];

function getMenuAll (arr) {
    arr.filter(item => {
      menuArr.push(item)
      if(item.children && item.children.length) {
        getMenuAll(item.children)
      }
    })
  }
getMenuAll(data)
console.log(arr)      

繼續閱讀