javascript - 检查我的字符串是否包含数组中的元素

标签 javascript json

我有一个对象数组,如果我的过滤器数组与键的字符串匹配,我希望过滤掉这些对象。

// my stores
var stores = [
    {
        id: 1,
        store: 'Store 1',
        storeSells: "Belts|Handbags|Watches|Wallets"
    },
    {
        id: 2,
        store: 'Store 2',
        storeSells: "Handbags|Personal Accessories|Jewelry|Eyewear|"
    },
    {
        id: 3,
        store: 'Store 3',
        storeSells: "Belts|Travel|Charms|Footwear|"
    },
    {
        id: 4,
        store: 'Store 3',
        storeSells: "Charms|Footwear|"
    }
]

// my filters
var filters = ["Handbags","Belts"]

所以,如果我的 filters 数组有 handbagsbelts。我希望过滤 ID 为 1,2 和 3 的商店,因为它们包含这些关键字。你能帮我解决这个问题吗?

最佳答案

你可以试试Array.prototype.filter()

The filter() method creates a new array with all elements that pass the test implemented by the provided function.

Array.prototype.some()

The some() method tests whether at least one element in the array passes the test implemented by the provided function. It returns a Boolean value.

String.prototype.includes()

The includes() method determines whether one string may be found within another string, returning true or false as appropriate.

// my stores
var stores = [
    {
        id: 1,
        store: 'Store 1',
        storeSells: "Belts|Handbags|Watches|Wallets"
    },
    {
        id: 2,
        store: 'Store 2',
        storeSells: "Handbags|Personal Accessories|Jewelry|Eyewear|"
    },
    {
        id: 3,
        store: 'Store 3',
        storeSells: "Belts|Travel|Charms|Footwear|"
    },
    {
        id: 4,
        store: 'Store 3',
        storeSells: "Charms|Footwear|"
    }
]

// my filters
var filters = ["Handbags","Belts"];

var res = stores.filter(item => filters.some(i=>item.storeSells.includes(i)));
console.log(res);

关于javascript - 检查我的字符串是否包含数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58742025/

相关文章:

javascript - 如何在 webgl 中移动相机?

java - 如何使用 Hibernate Criteria 在 Postgresql JSON 中进行搜索并与 Lateral 一起使用

php - POST 请求适用于 Postman,但不适用于 Guzzle

javascript - JSON解析错误: Cannot read property

java - Java 中的 JSON 模式 validator 库

javascript - ionic - `slot` 属性已弃用 - eslint-plugin-vue

javascript - 在 Hapi.js 中,我可以重定向到不同的端点并设置状态码吗?

JavaScript: 'Protected' 范围

javascript - 脚本在没有 jQuery UI 的情况下工作,但不能与 jQuery UI selectmenu 一起工作

javascript - 当 JSON 中嵌入了脚本标记时,JSON 会抛出错误