我有一个基于先前问题here的问题。
我正在使用Python做到这一点,但是现在我想将代码转换为Javascript代码。
所以基本上我的问题是,假设我有一个像这样的数组:
job_list = ['assistant manager', 'salesperson', 'doctor', 'production manager', 'sales manager', 'schoolteacher', 'mathematics teacher']
现在我想在数组中使用多个关键字进行搜索,例如:
当我尝试输入关键字老师和销售时,它应返回如下结果:
那么,如何在Javascript中做到这一点?
答案 0 :(得分:3)
使用filter
和some
:
const job_list = ['assistant manager', 'salesperson', 'doctor', 'production manager', 'sales manager', 'schoolteacher', 'mathematics teacher'];
const getJobs = (...words) => job_list.filter(s => words.some(w => s.includes(w)))
console.log(getJobs("teacher", "sales"));
答案 1 :(得分:1)
您可以制作一个描述所需内容的正则表达式,并使用test()
相应地filter
:
let job_list = ['assistant manager', 'salesperson', 'doctor', 'production manager', 'sales manager', 'schoolteacher', 'mathematics teacher']
let filtered = job_list.filter(job => /teacher|sales/.test(job))
console.log(filtered)
答案 2 :(得分:0)
您可以像这样使用filter
:
job_list = ['assistant manager', 'salesperson', 'doctor', 'production manager', 'sales manager', 'schoolteacher', 'mathematics teacher']
console.log(job_list.filter(word => word.includes("teacher") || word.includes("sales")))
复杂度:O(N)