我有一个对象数组,我想根据另一个数组对其进行过滤.如果filters
个对象的值只有一个,我只能使用filter
,但如果filters
个对象中还有一个值,则不会显示任何内容.因此,在过滤器中使用forEach
,并希望返回适配值.你能帮我解释一下是什么问题吗?谢谢
预期结果:
[
{
"tags": [
"madewithout__gluten",
"madewithout__nuts",
],
"metafields": "Side"
}
]
const data = [
{
"tags": [
"madewithout__gluten",
"madewithout__nuts",
],
"metafields": "Side"
},
{
"tags": [
"madewithout__gluten",
],
"metafields": "Side"
},
{
"tags": [
"madewithout__nuts"
],
"metafields": "Side"
}
]
const filters = ['gluten', 'nuts']
const result = data.filter((v) => {
filters.forEach((tag) => {
if(!v.tags.includes(`madewithout__${tag}`))
return;
});
});
console.log(result);