[英]How to filter within another array filter?
我有以下 json 数据。
我想忽略状态为“待定”的记录? 我尝试使用以下代码,但它返回所有记录 Empid 101 和 102。
var res = emp.filter(
e =>
e.statuses.filter(
s =>
s.status !== "complete"
)
);
console.log(res);
预期 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
}
]
}
]
使用每个 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);
结果:
[{
empId: "102",
statuses: [{
order: 1,
status: "complete"
}, {
order: 2,
status: "complete"
}]
}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.