如果查询值或查询值的一部分位于数组中,则返回 true



我有一个包含 600 多个名字(名字和姓氏)的员工名单。根据此列表,我需要创建一个数组。我还需要一种语法,该语法基于搜索查询浏览此数组,如果搜索查询字符串是数组的一部分,则返回truefalse。搜索查询已在名为query的变量中捕获。

例:

  1. 数组

    var employee = [ "John Smith", "Bob Hope", "Scott John", "Calum John" ];

  2. 如果查询值
  3. 或查询值的一部分位于数组员工中,则返回true,否则返回false

例:

  • 如果查询等于约翰·史密斯,则返回true
  • 如果查询等于bob,则返回true
  • 如果查询等于SCOTT JOHN FINANCE DEPARTMENT,则等于true
  • 如果查询等于健康保险,则等于false

所以基本上,如果搜索查询包含任何名称,则返回true

希望这足够清楚。JavaScript 不是我的主要任务,所以非常感谢我能得到的所有帮助。

最好 John

通过将查询转换为小写以及将员工姓名转换为小写,可以将array#somearray#includes一起使用。

employees.some(employee => employee.toLowerCase().includes(query.toLowerCase()) || query.toLowerCase().includes(employee.toLowerCase()))

var employees = [ "John Smith", "Bob Hope", "Scott John", "Calum John" ],
queries = ['john smith', 'bob', 'SCOTT JOHN FINANCE DEPARTMENT', 'health insurance'],
result = queries.map(query => employees.some(employee => employee.toLowerCase().includes(query.toLowerCase()) || query.toLowerCase().includes(employee.toLowerCase())));
console.log(result);

最新更新