首页 > 解决方案 > 更改 JavaScript 过滤器以过滤值是否包含/包含值

问题描述

目前,这会过滤到特定的类别名称。我希望它过滤它是否包含在字符串中。

换句话说,如果它选择了“暴风雨”,我希望过滤器返回“暴风雨”。(目前,如果它过滤的类别是'rainstorm',它只会返回'rainstorm')

 function showCategory(category) {
        this.title = category;
        let filteredProducts = this.products.filter(product => {
            return product.category == category;
        });
        drawProducts(filteredProducts);
    }

标签: javascriptarraysfilter

解决方案


尝试使用 indexOf 方法进行过滤,例如此示例

const categories = ["cats","dogs","cars","doors"]


function showCategory(category) {
        this.title = category;
        let filteredProducts = categories.filter(product => {
            return product.indexOf(category) !== -1;
        });
        return filteredProducts
    }
    
    
    
console.log(showCategory("ca"))


推荐阅读