React / Redux如何过滤两个数组值

时间:2018-07-12 15:18:07

标签: javascript arrays reactjs react-redux

我正在使用react-reselect筛选出一些数据。 我必须检查不同的数据数组是否匹配。我该如何对两个不同的数组进行过滤并必须在它们上运行map函数

这是我的选择器

export const AssignedUserSelector = createSelector(
  [EmployeeSelector],
  employee => {
    const freshData = newData.map(newlyAssign => newlyAssign);
   
    return employee.employees.filter(assign => assign.employeeId === newData);
  }
);

这里的freshdata类似于此[“ 2222”,“ 333”,“ 4444”]和employee.employees类似于此[{id:“ 222”,名称:“ John”},{id:“ 333” ,名称:“ Jane”},{id:“ 5555”,名称:“ Josh”}]。

我想做的是根据收到的ID筛选出员工。如何在反应中做到这一点。

1 个答案:

答案 0 :(得分:0)

不能完全确定示例代码在做什么,但这可能正是您想要的:

多个ID

const employeeIds = ["2222", "333", "4444"];

const employee = {
  employees: [{ 
    id: "222", 
    name: "John"
  },{
    id: "333", 
    name: "Jane"
  },{
    id: "5555", 
    name: "Josh"
  }]
};

employee.employees.filter(({ id }) => !employeeIds.includes(id));

单个ID

const employeeId = "222";

const employee = {
  employees: [{ 
    id: "222", 
    name: "John"
  },{
    id: "333", 
    name: "Jane"
  },{
    id: "5555", 
    name: "Josh"
  }]
};

employee.employees.filter(({ id }) => id !== employeeId);