获得数组中每一个对象的最后一个子对象

<script type="text/javascript">
    var json=[{
        "id": "100",
        "name": "浙江省",
        "children":[{
            "id": "1100",
            "name": "杭州市",
            "children":[{
                "id": "11001",
                "name": "西湖区",
                
            },{
                "id": "11002",
                "name": "上城区",
                
            },{
                "id": "11003",
                "name": "下城区",
                
            }]
        }]
      }
      ,{
        "id": "200",
        "name": "北京",
        "children":[{
            "id": "2100",
            "name": "北京市",
            "children":[{
                "id": "21001",
                "name": "东城区",
                "children":[{
                    "id": "23001",
                    "name": "小罗罗",
                },{
                    "id": "23002",
                    "name": "大罗罗",
                }]
            },{
                "id": "21002",
                "name": "西城区",
                "children":[{
                    "id": "22001",
                    "name": "天安门",
                },{
                    "id": "22002",
                    "name": "红旗",
                }]
            }]
        }]
      }
      ];

//获得数组中每一个对象的最后一个子对象,前提是如果children中没有值,不可以放一个空的"children":[]
     var arr1 = []
     function serverArray(arr){
      for(var item = 0;item < arr.length;item++){

        if(arr[item].children){
          serverArray(arr[item].children)
        }else{
            arr1.push(arr[item])
        }
      }
      return arr1
    }
    console.log(serverArray(json))

</script>

得到的数据:

 

posted @ 2020-12-10 15:08  程序员瑶琴  阅读(848)  评论(0)    收藏  举报