Javascript : Filter list with element contains

标签 javascript jquery reactjs

我有以下对象-

[
{
 employeeId:1
 employeeName:"ABC"
},
{
 employeeId:2
 employeeName:"ABD"
},
{
 employeeId:3
 employeeName:"FEW"
},
{
 employeeId:4
 employeeName:"JKABL"
},]

我想根据 employeeName 上提供的单词过滤此列表。

例如。如果提供员工姓名单词:- AB;然后它应该过滤掉-

[
    {
     employeeId:1
     employeeName:"ABC"
    },
    {
     employeeId:2
     employeeName:"ABD"
    },
    {
     employeeId:4
     employeeName:"JKABL"
    },]

因为 EmployeeIds 1,2 和 4 包含带 AB 的员工姓名。

为此我尝试了-

object.filter(x=>x.employeeName.indexOf("AB")>-1)

每次都返回空数组。

我试过的第二种方法-

   var filteredObject=object.map(x=>{
 if(x.employeeName.indexOf("AB")>-1)
  return x;
});

每次都返回 undefined。

最佳答案

您可以定义一个自定义函数,该函数使用 includes 进行过滤:

const data = [
  {
    employeeId: 1,
    employeeName: 'ABC',
  },
  {
    employeeId: 2,
    employeeName: 'ABD',
  },
  {
    employeeId: 3,
    employeeName: 'FEW',
  },
  {
    employeeId: 4,
    employeeName: 'JKABL',
  },
];

const filterName = (search) => {
  return data.filter((value) => value.employeeName.includes(search));
};

console.log(filterName('AB'));

关于Javascript : Filter list with element contains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72908011/

相关文章:

javascript - jquery iphone ui 和 jqtouch 哪个更好?

javascript - 如何使图像可聚焦?

jquery - D3 进入/退出路径圆组

android - React Native 应用程序在 react-native-gesture-handler 安装后一直停止

javascript - axios POST 解析为 undefined

javascript - 定义这个对象会导致另一个对象未​​定义吗?

javascript - 使用JavaScript,我想用这个 "TR>,"替换这个 "TR>"

javascript - React : When the user interacts with the checkbox control, 项目的状态应从 NEW 更新为 RESERVED

javascript - 根据 id 和文本框文本动态过滤动态生成的列表

javascript - 从 jQuery 迁移到原型(prototype)