我有一个问题基于以前的问题here。
在那里我使用Python来做到这一点,但现在我想将代码转换为Javascript代码。
所以我的问题基本上就是这样,让我说我有一个像这样的数组:
job_list = ['assistant manager', 'salesperson', 'doctor', 'production manager', 'sales manager', 'schoolteacher', 'mathematics teacher']
现在我想在我的数组中搜索多个关键字,例如:
当我尝试输入关键字教师和销售时,它应该返回如下结果:
那么,如何在Javascript中做到这一点?
使用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"));
您可以使用filter
制作一个描述您想要的正则表达式和test()
:
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)
你可以像这样使用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)