技术实践

《Lodash》深度遍历查找链式调用

在实际查询当中,往往实际数据比我们想象的复杂,数组嵌套对象在嵌套,并且字段不一样

羊先生的头像
羊先生2021.09.07 · 1 分钟阅读 · 223 阅读
《Lodash》深度遍历查找链式调用封面
文章正文还需 1 分钟

在实际查询当中,往往实际数据比我们想象的复杂,数组嵌套对象在嵌套,并且字段不一样

js 复制代码
// 测试数据
var aaa =  [
    {
        obj :{
            arrs:[
                {
                    a:[
                        {
                            name:1,
                        },
                        {
                            name:2,
                        }
                    ],
                },
                {
                    a:[
                        {
                            name:3,
                            text:'333'
                        },
                        {
                            name:4,
                        }
                    ],
                }
            ]
        }
    }
]
js 复制代码
// 深度查找
const findDepth = (data, tag) => {
    let result = chain(data)
        .map('obj')
        .map('arrs')
        .flatten()
        .map('a')
        .flatten()
        .filter({name:3})
        .sumBy()
        .value()
    console.log('result',result)
};
findDepth(aaa)

结果

image.png