js递归筛选

该代码段展示了一个JavaScript函数,用于根据给定的城市名称列表递归遍历并筛选具有层级关系的对象数组。函数`getCity`接收一个城市列表,遍历对象数组`arr`,并在找到匹配的城市名时更新索引、存储ID并深入到下一层子数组进行进一步搜索。
摘要由CSDN通过智能技术生成

js递归筛选


let arr = [
    {
        name: '李康',
        id: 1001,
        chlider: [
            {
                name: 'lk',
                id: 1011,

                chlider: [
                    {
                        name: 'kk',
                        id: 101177,

                    }
                ]
            },
        ]
    },
    {
        name: '李康1',
        id: 1001,
        chlider: [
            {
                name: 'lk1',
                id: 1011,

                chlider: [
                    {
                        name: 'kk1',
                        id: 101177,

                    }
                ]
            },
        ]
    }
]
let city_list = ['李康', 'lk', 'kk']
let list = []
let index = 0
let new_arr = 0
function getCity(city) {
    if (index == 0) {
        new_arr = arr
    }
    for (const key in new_arr) {
        if (index <= 2) {
            if (new_arr[key]?.name == city[index]) {
                console.log(index, 'index')
                index++
                list.push(new_arr[key]?.id)
                new_arr = new_arr[key].chlider
                getCity(city_list)
                break
            }
        }
    }
}
getCity(city_list)
console.log(list, 'list')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值