[英]How to filter within another array filter?
I have below json data.我有以下 json 数据。
I want to ignore records which having status "Pending"?我想忽略状态为“待定”的记录? I tried with below code but it returning all records Empid 101 and 102.我尝试使用以下代码,但它返回所有记录 Empid 101 和 102。
var res = emp.filter(
e =>
e.statuses.filter(
s =>
s.status !== "complete"
)
);
console.log(res);
expected output: empId 102预期 output:empId 102
[{
"empId": "101",
"statuses": [{
"status": "pending",
"order": 1
},
{
"status": "complete",
"order": 2
}
]
},
{
"empId": "102",
"statuses": [{
"status": "inprogress",
"order": 1
},
{
"status": "complete",
"order": 2
}
]
}
]
Use the every function to make sure all the statuses are complete.使用每个 function 确保所有状态都完整。
const emps = [{
"empId": "101",
"statuses": [{
"status": "pending",
"order": 1
},
{
"status": "complete",
"order": 2
}
]
},
{
"empId": "102",
"statuses": [{
"status": "complete",
"order": 1
},
{
"status": "complete",
"order": 2
}
]
}
]
var res = emps.filter(emp => emp.statuses.every(status => status.status !== "pending"))
console.log(res);
Result:结果:
[{
empId: "102",
statuses: [{
order: 1,
status: "complete"
}, {
order: 2,
status: "complete"
}]
}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.