使用 JavaScript 中具有匹配字符的另一个数组过滤一个数组

Cod*_*oob -1 javascript arrays filter

是否可以让一个数组过滤另一个数组以匹配每个字符?

我有一组日志和一个过滤器,如下所示:

logs = [{id:1, log: "log1"}], {id:2, log: "log2"}, {id:3, log: "fail"}

filter = ["log"]
Run Code Online (Sandbox Code Playgroud)

它应该返回

[{id:1, log: "log1"}, {id:2, log: "log2"}]
Run Code Online (Sandbox Code Playgroud)

如果我的过滤器是

filter = ["1", "fai"]
Run Code Online (Sandbox Code Playgroud)

输出将是

[{id:1, log: "log1"}, {id:3, log: "fail"]
Run Code Online (Sandbox Code Playgroud)

Kam*_*kov 6

您可以执行以下操作:

const logs = [{id:1, log: "log1"}, {id:2, log: "log2"}, {id:3, log: "fail"}]
const searches = ["1", "fai"]
const matchingLogs = logs.filter(l => {
    return searches.some(term => l.log.includes(term))
})
Run Code Online (Sandbox Code Playgroud)