我正在尝试筛选一个对象,该对象仅在属性具有筛选数组中的所有值时才返回。这就是代码:
const getFilteredProducts = ()=>{
const filterBrands:string[] = [];
const filterGender:string[] = [];
FilterState().brand.map(brand =>{
if(brand.checked == true){
filterBrands.push(brand.brand);
}
});
FilterState().gender.map(brand =>{
if(brand.checked == true){
filterGender.push(brand.gender);
}
})
products?.map((product)=>{
if(Object.values(product.Brand).includes(filterBrands[0]) && Object.values(product.Gender).includes(filterGender[0])){
console.log(product);
}
})
}
我首先循环通过品牌过滤器,如果过滤器被勾选,它会将其添加到品牌过滤器数组。例如- Nike被勾选,因此Nike被添加到过滤器阵列。然后,我对性别过滤器做同样的操作,然后我循环遍历对象,我想检查对象是否具有数组中的品牌名称,并且与性别相同。如何将includes(filterBrands[0])
更改为检查所有阵列的内容?如果这说得通的话。
1条答案
按热度按时间dbf7pr2w1#