javascript - 查找具有条件的对象数组的最小值
问题描述
let event = [
{
"vendorBidId": 58,
"participantName": "bro.gee@test.in",
"bidAmount": 10000,
"productionRate": 10000,
"bidTime": "2021-10-21T14:55:05.957324",
"isYou": false,
"awarded": false
},
{
"vendorBidId": 57,
"participantName": "test@gmail.com",
"bidAmount": 20000,
"productionRate": 20000,
"bidTime": "2021-10-21T14:50:24.493522",
"isYou": false,
"awarded": true
},
{
"vendorBidId": null,
"participantName": "bro+2@test.com",
"bidAmount": 0,
"productionRate": null,
"bidTime": null,
"isYou": false,
"awarded": false
},
{
"vendorBidId": null,
"participantName": "bro.hey@test.com",
"bidAmount": 0,
"productionRate": null,
"bidTime": null,
"isYou": true,
"awarded": false
}
]
在这里我想找到最低的bidAmount,但是在检查了以下条件之后,
- 如果 vendorBidId 为空则跳过
我试着这样做。
let minimum = event.reduce(function(prev, curr) {
return prev.bidAmount < curr.bidAmount ? prev : curr;
});
但是并试图添加我的条件。但是效果不好。
我只想要最低的bidAmount(跳过vendorBidId 为空)。
解决方案
过滤器和地图上的 Math.min
let event = [{ "vendorBidId": 58, "participantName": "bro.gee@test.in", "bidAmount": 10000, "productionRate": 10000, "bidTime": "2021-10-21T14:55:05.957324", "isYou": false, "awarded": false }, { "vendorBidId": 57, "participantName": "test@gmail.com", "bidAmount": 20000, "productionRate": 20000, "bidTime": "2021-10-21T14:50:24.493522", "isYou": false, "awarded": true }, { "vendorBidId": null, "participantName": "bro+2@test.com", "bidAmount": 0, "productionRate": null, "bidTime": null, "isYou": false, "awarded": false }, { "vendorBidId": null, "participantName": "bro.hey@test.com", "bidAmount": 0, "productionRate": null, "bidTime": null, "isYou": true, "awarded": false } ]
const min = Math.min(...event
.filter(evt => evt.vendorBidId)
.map(({bidAmount}) => bidAmount)
);
console.log(min)
推荐阅读
- tensorflow - 在 keras 中实现自定义 GRU 方程
- flutter - 在 Flutter 中获取小部件的大小
- f# - 有没有办法将索引作为参数传递给映射到数组的函数?
- datetime - 在 Power BI 中为“上次刷新时间”视觉对象正确和自动定义东部时间
- javascript - 状态更改后组件未更新
- java - 如何编写仅存在于要使用 Java Orika Mapper 映射的对象上的字段?
- json - json_modify 和 json_query 添加 2 行
- python - 使用三个不同的日期类型库检查日期
- angular - Storybook + Ngx-File-Drop - TypeError:无法在 registerNgModuleType 读取未定义的属性“id”
- python - 在日志装饰器看不到自定义级别之前,python 日志中的 addLevelName