JS三级数组对象过滤再取值

var aa = [
    {
        "subshopcategories": [
            {
                "subshopcategories": [
                    {
                        "id": 121,
                        "shoptype_name": ""
                    },
                    {
                        "id": 131,
                        "shoptype_name": "是的是的是是"
                    },
                    {
                        "id": 122,
                        "shoptype_name": "撒按时"
                    },
                    {
                        "id": 139,
                        "shoptype_name": "豬肚雞"
                    },
                    {
                        "id": 137,
                        "shoptype_name": "四川火锅"
                    },
                    {
                        "id": 142,
                        "shoptype_name": "胡椒"
                    }
                ],
                "id": 1,
                "shoptype_name": "餐饮美食"
            },
            {
                "subshopcategories": [
                    {
                        "id": 130,
                        "shoptype_name": "阿萨德是的"
                    }
                ],
                "id": 1,
                "shoptype_name": "餐饮美食"
            },
            {
                "subshopcategories": [
                    {
                        "id": 144,
                        "shoptype_name": "ertert"
                    }
                ],
                "id": 1,
                "shoptype_name": "餐饮美食"
            },
            {
                "subshopcategories": [
                    {
                        "id": 135,
                        "shoptype_name": "XXX"
                    }
                ],
                "id": 1,
                "shoptype_name": "餐饮美食"
            }
        ],
        "id": 1,
        "shoptype_name": "餐饮美食"
    },
    {
        "id": 72,
        "shoptype_name": "医疗健康"
    },
    {
        "subshopcategories": [
            {
                "subshopcategories": [
                    {
                        "id": 124,
                        "shoptype_name": "搭搭撒撒"
                    }
                ],
                "id": 65,
                "shoptype_name": "酒店旅游"
            }
        ],
        "id": 65,
        "shoptype_name": "酒店旅游"
    },
    {
        "id": 60,
        "shoptype_name": "休闲娱乐"
    }
]

var bb = [];
  function isNull(value) {
        return typeof value == 'undefined' ||
            value == '' ||
            value == null ||
            value == undefined ||
            value == 'null' ||
            value == {}
    }

for(var i=0;i<aa.length;i++){
    if(!isNull(aa[i].subshopcategories)){
       for(var j=0;j<aa[i].subshopcategories.length;j++){
           if(!isNull(aa[i].subshopcategories[j])){
               bb.push(aa[i])
           }
       }
    }
}

let shopTypeData = bb.map((mianType, mainIndex) =>{ 
            let subTypes = mianType.subshopcategories;              
            let mainName = mianType.shoptype_name;    
                
            let cityRegionData = subTypes.map((subType, subIndex)=>{                   
                let subName = subType.shoptype_name;                  
                let cityRegionDataValue =  subType.subshopcategories;                 
                let subNameValue =  cityRegionDataValue.map((item,index)=>{                        
                    return item.shoptype_name                 
                })                     
                var shopTypeResultValue = {};                     
                shopTypeResultValue[subName] = subNameValue                
                return  shopTypeResultValue;            
            });            
            var shopTypeResult = {};             
            shopTypeResult[mainName] = cityRegionData;            
            return shopTypeResult;        
        });

console.log(JSON.stringify(bb))

[
    {
        "餐饮美食": [
            {
                "餐饮美食": [
                    "",
                    "是的是的是是",
                    "撒按时",
                    "豬肚雞",
                    "四川火锅",
                    "胡椒",
                    "鸳鸯锅",
                    "阿斯达所多",
                    "dasawq1",
                    "sss",
                    "333"
                ]
            },
            {
                "餐饮美食": [
                    "阿萨德是的"
                ]
            },
            {
                "餐饮美食": [
                    "ertert"
                ]
            },
            {
                "餐饮美食": [
                    "XXX"
                ]
            }
        ]
    },
    {
        "餐饮美食": [
            {
                "餐饮美食": [
                    "",
                    "是的是的是是",
                    "撒按时",
                    "豬肚雞",
                    "四川火锅",
                    "胡椒",
                    "鸳鸯锅",
                    "阿斯达所多",
                    "dasawq1",
                    "sss",
                    "333"
                ]
            },
            {
                "餐饮美食": [
                    "阿萨德是的"
                ]
            },
            {
                "餐饮美食": [
                    "ertert"
                ]
            },
            {
                "餐饮美食": [
                    "XXX"
                ]
            }
        ]
    },
    {
        "餐饮美食": [
            {
                "餐饮美食": [
                    "",
                    "是的是的是是",
                    "撒按时",
                    "豬肚雞",
                    "四川火锅",
                    "胡椒",
                    "鸳鸯锅",
                    "阿斯达所多",
                    "dasawq1",
                    "sss",
                    "333"
                ]
            },
            {
                "餐饮美食": [
                    "阿萨德是的"
                ]
            },
            {
                "餐饮美食": [
                    "ertert"
                ]
            },
            {
                "餐饮美食": [
                    "XXX"
                ]
            }
        ]
    },
    {
        "餐饮美食": [
            {
                "餐饮美食": [
                    "",
                    "是的是的是是",
                    "撒按时",
                    "豬肚雞",
                    "四川火锅",
                    "胡椒",
                    "鸳鸯锅",
                    "阿斯达所多",
                    "dasawq1",
                    "sss",
                    "333"
                ]
            },
            {
                "餐饮美食": [
                    "阿萨德是的"
                ]
            },
            {
                "餐饮美食": [
                    "ertert"
                ]
            },
            {
                "餐饮美食": [
                    "XXX"
                ]
            }
        ]
    },
    {
        "酒店旅游": [
            {
                "酒店旅游": [
                    "搭搭撒撒"
                ]
            }
        ]
    }
]


[{"餐饮美食1":[{"餐饮美食2":["餐饮美食3"]}]}]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值