Itu bisa dilakukan dengan menggunakan beberapa / setiap metode Array dan RegEx.
Untuk memeriksa apakah SEMUA kata dari daftar (larik) ada dalam string:
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"])
Untuk memeriksa apakah SALAH SATU kata dari daftar (larik) ada dalam string:
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
akan menyiratkan bahwa setidaknya satu pertandingan sudah cukup.