Javascript _Filler过滤具有多个条件的JSON

Javascript _Filler过滤具有多个条件的JSON,javascript,underscore.js,Javascript,Underscore.js,如何使用u.filter在以下条件下进行筛选 1.员工角色Id 1或3 2.主动识别为真 [ { "Employee_Id": 252156, "Active_Ind": true, "EmployeeRoles": [ { "Employee_Role_Id": 1, "Employee_Role_Nm": "Tax Prep" } ] }, { "Employee_Id": 25215

如何使用u.filter在以下条件下进行筛选

1.员工角色Id 1或3

2.主动识别为真

[
  {
    "Employee_Id": 252156,
    "Active_Ind": true,
    "EmployeeRoles": [
      {
        "Employee_Role_Id": 1,
        "Employee_Role_Nm": "Tax Prep"
      }
    ]
  },
  {
    "Employee_Id": 252156,
    "Active_Ind": true,
    "EmployeeRoles": [
      {
        "Employee_Role_Id": 1,
        "Employee_Role_Nm": "Tax Prep"
      },
      {
        "Employee_Role_Id": 2,
        "Employee_Role_Nm": "Tax Prep"
      }
    ]
  },
  {
    "Employee_Id": 252156,
    "Active_Ind": true,
    "EmployeeRoles": [
      {
        "Employee_Role_Id": 1,
        "Employee_Role_Nm": "Tax Prep"
      },
      {
        "Employee_Role_Id": 3,
        "Employee_Role_Nm": "Tax Prep"
      }
    ]
  },
  {
    "Employee_Id": 252156,
    "Active_Ind": false,
    "EmployeeRoles": [
      {
        "Employee_Role_Id": 1,
        "Employee_Role_Nm": "Tax Prep"
      },
      {
        "Employee_Role_Id": 2,
        "Employee_Role_Nm": "Tax Prep"
      }
    ]
  }
]
)

您可以执行以下操作:

var employees=[{“员工Id”:252156,“在职员工”:true,“员工角色”:[{“员工Id”:1,“员工角色”:“纳税准备”}},{“员工Id”:252156,“在职员工”:true,“员工”:[{“员工Id”:1,“员工角色”:“纳税准备”},{“员工角色”:“纳税准备”},{“员工Id”:2,“员工角色”:“纳税准备”},{“员工Id”:252156,“在职员工Id”:true,“EmployeeRoles”;[{“employeer_-Role_-Id”:1,“employeer_-Role_-Nm”:“纳税准备”;{“employeer_-Role_-Nm”:“纳税准备”;{“employeer_-Id”:252156,“Active_-Ind”:false,“employeer_-Role_-Nm”:[{“employeer_-Role_-Id”:1,“employeer_-Role_-Nm”:“纳税准备”;{“employeer(-Role(-Id”:2,“employeer(-Role)-,
activeEmployee=551;.filter(员工,函数(员工){
返回employee.Active_Ind&&u.some(employee.EmployeeRoles,函数(角色){
返回1==role.Employee_role_Id | | 3==role.Employee_role_Id;
});
});
console.log(activeEmployee)
。作为控制台包装{最大高度:100%!重要;顶部:0;}

您可以将所有
员工_角色_Id
值与所需值相交,而不是
部分

var activeEmployee = _.filter(employees, function (employee) {
                return _.some(employee.Employee.EmployeeRoles, { 'Employee_Role_Id': 1 });
            })
let employees=[
{
“员工Id”:252156,
“积极的”是真的,
“雇员”:[
{
“员工角色Id”:1,
“员工角色”:“税务准备”
}
]
},
{
“员工Id”:252156,
“积极的”是真的,
“雇员”:[
{
“员工角色Id”:1,
“员工角色”:“税务准备”
},
{
“员工角色Id”:2,
“员工角色”:“税务准备”
}
]
},
{
“员工Id”:252156,
“积极的”是真的,
“雇员”:[
{
“员工角色Id”:1,
“员工角色”:“税务准备”
},
{
“员工角色Id”:3,
“员工角色”:“税务准备”
}
]
},
{
“员工Id”:252156,
“活动标识”:错误,
“雇员”:[
{
“员工角色Id”:1,
“员工角色”:“税务准备”
},
{
“员工角色Id”:2,
“员工角色”:“税务准备”
}
]
}
];
var activeEmployee=u.filter(employees,e=>e.Active\u Ind&&uu.intersection([1,3],uu.pull(e.EmployeeRoles,'employeer\u Role\u Id')).length);
console.log(activeEmployee)
var activeEmployee = _.filter(employees, e=>e.Active_Ind
&& _.intersection([1,3],_.pluck(e.EmployeeRoles,'Employee_Role_Id')).length);