Я определяю самую дешевую, лучшую и самую быструю скорость в объекте, основываясь на следующих факторах:
- самый дешевый определяется по
netfee
, имеющему наименьшее значение
- самый быстрый определяется
speed
с наименьшим количеством дней
- лучшее определяется по
amount
, имеющему наибольшее значение
Но что, если самые высокие скорости одинаковы? Тогда от чего должен зависеть фактор, не противоречащий двум другим? Если, например, «самый быстрый» определяется с использованием speed
с меньшим количеством дней и && amount
с самым высоким значением, это конфликтует с best
, в результате лучшие и самые быстрые значения совпадают
Мне нужно знать, какой фактор должен зависеть от того, когда скорость одинакова для всех
var obj = [{
id: "sample1",
netfee: 10,
speed: "1days",
amount: "100",
rate: "0.5",
netamount: "50"
}, {
id: "sample2",
netfee: 6,
speed: "1days",
amount: "200",
rate: "0.1",
netamount: "20"
}, {
id: "sample3",
netfee: 4,
speed: "3days",
amount: "500",
rate: "0.2",
netamount: "100"
}];
var cheapest = obj.reduce((acc, cur) => (acc.netfee < cur.netfee ? acc : cur)).id,
fastest = obj.reduce((acc, cur) => (parseInt(acc.speed, 10) < parseInt(cur.speed, 10) ? acc : cur)).id,
best = obj.reduce((acc, cur) => (Number(acc.amount) > Number(cur.amount) ? acc : cur)).id;
console.log("cheapest =", cheapest)
console.log("fastest =", fastest)
console.log("best =", best)