Bu, Array ve RegEx'in bazı / her yöntemini kullanarak yapılabilir .
Listedeki (dizi) TÜM kelimelerin dizede olup olmadığını kontrol etmek için:
const multiSearchAnd = (text, searchWords) => (
searchWords.every((el) => {
return text.match(new RegExp(el,"i"))
})
)
multiSearchAnd("Chelsey Dietrich Engineer 2018-12-11 Hire", ["cle", "hire"])
multiSearchAnd("Chelsey Dietrich Engineer 2018-12-11 Hire", ["che", "hire"])
Listedeki (dizi) herhangi bir kelimenin dizede olup olmadığını kontrol etmek için:
const multiSearchOr = (text, searchWords) => (
searchWords.some((el) => {
return text.match(new RegExp(el,"i"))
})
)
multiSearchOr("Chelsey Dietrich Engineer 2018-12-11 Hire", ["che", "hire"])
multiSearchOr("Chelsey Dietrich Engineer 2018-12-11 Hire", ["aaa", "hire"])
multiSearchOr("Chelsey Dietrich Engineer 2018-12-11 Hire", ["che", "zzzz"])
multiSearchOr("Chelsey Dietrich Engineer 2018-12-11 Hire", ["aaa", "1111"])
or
en az bir eşleşmenin yeterli olacağı anlamına gelir .