Angular 6-搜索列表中的复杂对象并从查找表中获取名称

时间:2019-01-08 19:20:27

标签: typescript

我要搜索复杂对象的列表。

我的列表如下:

  private employees: Employee[] = [
    {
      name: 'Mary Jay',
      departmentsList: [1, 2, 3], //those are Id-s of departments from the list below
      emailList: [ 'emp1@gamil.com', 'emp2@gmail.com', 'emp3@gmail.com' ]
    }
  ];


   private departments: Department[] = [
    { id: 1, name: 'dep1' },
    { id: 2, name: 'dep2' },
    { id: 3, name: 'dep3' },
    { id: 4, name: 'dep4' },
    { id: 5, name: 'dep5' },
    { id: 6, name: 'dep6' }
  ];

我想要实现的是通过部门名称和电子邮件实现搜索过滤器。

有人知道如何从遍历此复杂对象列表的查找表中获取部门名称吗?使用此功能,我可以搜索电子邮件列表和使用其名称的部门列表。

谢谢!

1 个答案:

答案 0 :(得分:0)

departments = [
{ id: 1, name: 'dep1' },
{ id: 2, name: 'dep2' },
{ id: 3, name: 'dep3' },
{ id: 4, name: 'dep4' },
{ id: 5, name: 'dep5' },
{ id: 6, name: 'dep6' }
]
const valueFromInput = 'dep';
const allDepartmentNames = departments.map(department => department.name);
const result = allDepartmentNames.filter(name => name.includes(valueFromInput));



console.log(result)