I have below json data.
I want to ignore records which having status "Pending"? I tried with below code but it returning all records Empid 101 and 102.
var res = emp.filter(
e =>
e.statuses.filter(
s =>
s.status !== "complete"
)
);
console.log(res);
expected 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.
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"
}]
}]
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.