Search code examples
javascriptrecursive-datastructures

How can I get items in data array with recursive?


I have a data array

var data=[{
"key": "KUZEY",
"items": [
    {
        "key": "MARMARA",
        "items": [
            {
                "key": "T100",
                "items": [
                    {
                        "Ref": 1,
                        "ApprovedReserveQuantity": 1
                       
                    }
                ]
            }
        ]
    },
    {
        "key": "MARMARA 2",
        "items": [
            {
                "key": "T100",
                "items": [
                    {
                        "Ref": 2,
                        "ApprovedReserveQuantity": 1
                        
                   }
                ]
            }
        ]
    }
] }]

İ want to get items when i call function. how can do that recursiveMethod?

groupedItems=recursiveMethod(data)

groupedItems==>[{"Ref": 1,"ApprovedReserveQuantity": 1},{"Ref": 2,"ApprovedReserveQuantity": 1}]


Solution

  • groupedItems:any[]=[];    
    recursiveMethod(element){
              if(element.items==null)
                this.groupedItems.push(element)
              if (element.items != null){
                  let i;
                  for(i=0;  i < element.items.length; i++){
                        this.recursiveMethod(element.items[i]);
                  }
             }
        }
    

    it's worked