Javascript在数组中搜索多个单词

问题描述 投票:1回答:3

我有一个问题基于以前的问题here

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

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

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

现在我想在我的数组中搜索多个关键字,例如:

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

  • 教师
  • 数学老师
  • 售货员
  • 销售经理

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

javascript arrays string
3个回答
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
投票

您可以使用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)

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)

© www.soinside.com 2019 - 2024. All rights reserved.