【发布时间】:2022-12-06 21:39:54
【问题描述】:
我有一组具有单独任务的对象,我需要根据员工 ID 过滤掉每个任务,然后根据项目 ID 过滤掉每个任务,然后我需要检查结果数组中的小时总和是否小于 4。如果所有这些条件都满足,然后将这些值存储在数组中。这是来自 api 的响应。
nonallocated: [
{
empId: "1",
task: {
project: {
projectId: "111"
},
total: '2'
}
},
{
empId: "2",
task: {
project: {
projectId: "111"
},
total: '5'
}
},
{
empId: "2",
task: {
project: {
projectId: "333"
},
total: '1'
}
},
{
empId: "3",
task: {
project: {
projectId: "111"
},
total: '2'
}
},
{
empId: "3",
task: {
project: {
projectId: "111"
},
total: '1'
}
},
{
empId: "1",
task: {
project: {
projectId: "222"
},
total: '5'
}
},
{
empId: "1",
task: {
project: {
projectId: "111"
},
total: '1'
}
}
]
预期输出:
newArr = [
//matching empId(1), projectId(111), total is less than 4 i.e 2+1=3
{
empId: "1",
task: {
project: {
projectId: "111"
},
total: '2'
}
},
{
empId: "1",
task: {
project: {
projectId: "111"
},
total: '1'
}
},
// having only one data for same empID and projectId and total is less than 4
{
empId: "2",
task: {
project: {
projectId: "333"
},
total: '1'
}
},
//having same empId(3) and projectId(111) and total is less than 4 ie
2+1 =3
{
empId: "3",
task: {
project: {
projectId: "111"
},
total: '2'
}
},
{
empId: "3",
task: {
project: {
projectId: "111"
},
total: '1'
}
},
]
这不应仅限于一个 empId 或 projectId。我希望这些条件满足任何数据,例如我们可以有一个满足 empId 2 相同条件的数据。我想检索具有相同员工 ID、相同 projectId 且总计小于 4 的值的数据。如果我有一个没有与其他数据匹配的 empId 和 projectId 的数据,在这种情况下只需检查总数小于 4。
为相同的员工 ID 和相同的项目 ID 创建一个单独的数组。
【问题讨论】:
-
array.filter((e) => e.empId === 值) ?
-
这有什么价值?我们要动态过滤
标签: javascript arrays