let event = [
{
"vendorBidId": 58,
"participantName": "[email protected]",
"bidAmount": 10000,
"productionRate": 10000,
"bidTime": "2021-10-21T14:55:05.957324",
"isYou": false,
"awarded": false
},
{
"vendorBidId": 57,
"participantName": "[email protected]",
"bidAmount": 20000,
"productionRate": 20000,
"bidTime": "2021-10-21T14:50:24.493522",
"isYou": false,
"awarded": true
},
{
"vendorBidId": null,
"participantName": "bro [email protected]",
"bidAmount": 0,
"productionRate": null,
"bidTime": null,
"isYou": false,
"awarded": false
},
{
"vendorBidId": null,
"participantName": "[email protected]",
"bidAmount": 0,
"productionRate": null,
"bidTime": null,
"isYou": true,
"awarded": false
}
]
在這里我想找到最低出價金額,但在檢查以下條件后,
- 如果 vendorBidId 為空則跳過
我試著這樣做。
let minimum = event.reduce(function(prev, curr) {
return prev.bidAmount < curr.bidAmount ? prev : curr;
});
但是并嘗試添加我的條件。但效果不佳。
我只想要最小的出價金額(跳過 vendorBidId 為空)。
uj5u.com熱心網友回復:
過濾器和地圖上的 Math.min
let event = [{ "vendorBidId": 58, "participantName": "[email protected]", "bidAmount": 10000, "productionRate": 10000, "bidTime": "2021-10-21T14:55:05.957324", "isYou": false, "awarded": false }, { "vendorBidId": 57, "participantName": "[email protected]", "bidAmount": 20000, "productionRate": 20000, "bidTime": "2021-10-21T14:50:24.493522", "isYou": false, "awarded": true }, { "vendorBidId": null, "participantName": "bro [email protected]", "bidAmount": 0, "productionRate": null, "bidTime": null, "isYou": false, "awarded": false }, { "vendorBidId": null, "participantName": "[email protected]", "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)
uj5u.com熱心網友回復:
使用reduce是一種簡單的方法(如果您想要整個物件)。
如果您只需要最小 vakue,您可以Math.min在映射 minAmount 鍵值后使用。
let event = [
{
"vendorBidId": 58,
"participantName": "[email protected]",
"bidAmount": 10000,
"productionRate": 10000,
"bidTime": "2021-10-21T14:55:05.957324",
"isYou": false,
"awarded": false
},
{
"vendorBidId": 57,
"participantName": "[email protected]",
"bidAmount": 20000,
"productionRate": 20000,
"bidTime": "2021-10-21T14:50:24.493522",
"isYou": false,
"awarded": true
},
{
"vendorBidId": null,
"participantName": "bro [email protected]",
"bidAmount": 0,
"productionRate": null,
"bidTime": null,
"isYou": false,
"awarded": false
},
{
"vendorBidId": null,
"participantName": "[email protected]",
"bidAmount": 0,
"productionRate": null,
"bidTime": null,
"isYou": true,
"awarded": false
}
]
const min = event.reduce(function(prev, curr) {
return prev.bidAmount < curr.bidAmount && curr.vendorBidId ? prev : curr;
});
console.log(min);
var minValue = Math.min(...event.map(item => item.vendorBidId ? item.bidAmount : 0));
console.log(minValue);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/335744.html
標籤:javascript 数组 目的 降低
