Как правильно ппрописать условие на поиск массива?
Все привет. Есть проблема, не могу вывести корректно норматив по сотруднику. Есть toggle ignoreSettlementDate === false и true когда включен. Когда ignoreSettlementDate === true, то корректно приходит норматив в поле p(картинка не вставляется).
Данные приходят вот так
"employeeNormativeHistory": [
{
"employeeNormObjectId": "7356608324074602497",
"updateTime": "2024-04-12",
"normative": 6.0
},
{
"employeeNormObjectId": "7355411339797725185",
"updateTime": "2024-03-26",
"normative": 10.0
},
{
"employeeNormObjectId": "7356880199799406593",
"updateTime": "2024-04-30",
"normative": 15.0
},
{
"employeeNormObjectId": "7356879607093919745",
"updateTime": "2024-04-26",
"normative": 5.0
},
{
"employeeNormObjectId": "7355411339797725186",
"updateTime": "2024-04-03",
"normative": 644.0
},
{
"employeeNormObjectId": "7355477980125331457",
"updateTime": "2024-04-09",
"normative": 65.0
}
],
Так вот Если я ставлю ignoreSettlementDate === false, то приходит "-", хотя данные в этом поле есть и их много. Мне нужно вывести только то что на сегодняшнее число(тоже самое что и при ignoreSettlementDate === true.
<p>{
selectedEmployee?.employeeNormativeHistory && selectedEmployee.employeeNormativeHistory.length > 0 ?
(ignoreSettlementDate === false ?
selectedEmployee?.employeeNormativeHistory
?.filter((norm) => new Date(norm?.updateTime).toISOString().split('T')[0] === new Date(new Date().setHours(0, 0, 0, 0)).toISOString().split('T')[0])
?.map(norm => norm.normative)[0] || '-'
: selectedEmployee?.employeeNormativeHistory
?.find((norm) => new Date(norm?.normative) <= new Date(new Date().setHours(0, 0, 0, 0)))?.normative || '-')
: '-'
}</p>