gpt4 book ai didi

javascript - lodash通过多个过滤器过滤数据

转载 作者:行者123 更新时间:2023-12-02 22:03:32 26 4
gpt4 key购买 nike

我有这些数据,需要使用 lodash 应用所有过滤器。最终输出为空白。

filters = [{'gender':'M'}, {'division':'police'}]

data = [{'name':'tom', 'gender':'M', 'division':'police'},
{'name':'bob' , 'gender':'M', 'division':'police'},
{'name':'dave' , 'gender':'F', 'division':'IT'},
]

data = _.filter(data, function(item){
_.forEach(filters, function(filter){
data_found = _.filter([item], filter)
console.log('data_found - ', data_found)
})
})

console.log(data)

https://jsfiddle.net/52k6170c/1/

最佳答案

您可以将过滤器数组组合到单个对象并将其用作过滤器

combined = filters.reduce((acc,item) =>  ({...acc, ...item})) 
// combined is = {'gender':'M', 'division':'police'}

data = _.filter(data, combined)

如果您不想使用其余运算符,可以使用 lodash function将对象数组组合成单个对象

关于javascript - lodash通过多个过滤器过滤数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com