我有下面的物体-

[
{
 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"
    },]

由于EmployeeID 1、2和4包含带AB的employeename.

为了这个我试过了-

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

每次都返回空array.

我第二次try -

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

每次都返回未定义.

推荐答案

您可以定义一个自定义函数,该函数使用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相关问答推荐

JS生成具有给定数字和幻灯片计数的数组子集

如何修复内容安全策略指令脚本-SRC自身错误?

如何将连续的十六进制字符串拆分为以空间分隔的十六进制块,每个十六进制块包含32个二元组?

从mat—country—select获取整个Country数组

Plotly热图:在矩形上zoom 后将zoom 区域居中

Phaser 3 console. log()特定游戏角色的瓷砖属性

嵌套异步JavaScript(微任务和macrotask队列)

使用useEffect,axios和useParams进行react测试

如何从调整大小/zoom 的SVG路径定义新的d属性?""

在拖放时阻止文件打开

如何控制Reaction路由加载器中的错误状态?

这个值总是返回未定义的-Reaction

将异步回调转换为异步生成器模式

try 使用PM2在AWS ubuntu服务器上运行 node 进程时出错

Reaction-SWR-无更新组件

如何在FiRestore中的事务中使用getCountFromServer

如何在Java脚本中并行运行for或任意循环的每次迭代

如何在Highlihte.js代码区旁边添加行号?

如何检测当前是否没有按下键盘上的键?

如何创建一个for循环,用于计算仪器刻度长度并将其放入一个HTML表中?