Javascript搜索数组中的多个单词

时间:2019-04-15 02:44:22

标签: javascript arrays string

我有一个基于先前问题here的问题。

我正在使用Python做到这一点,但是现在我想将代码转换为Javascript代码。

所以基本上我的问题是,假设我有一个像这样的数组:

job_list = ['assistant manager', 'salesperson', 'doctor', 'production manager', 'sales manager', 'schoolteacher', 'mathematics teacher']

现在我想在数组中使用多个关键字进行搜索,例如:

当我尝试输入关键字老师销售时,它应返回如下结果:

  • 学校老师
  • 数学老师
  • 销售员
  • 销售经理

那么,如何在Javascript中做到这一点?

3 个答案:

答案 0 :(得分:3)

使用filtersome

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)