我需要在 jQuery 中计算里程价格。
例如距离 = 10
关税如下:
----------------------------
| Mileage | Rate |
----------------------------
| 1 | 1.5 |
----------------------------
| 5 | 3 |
----------------------------
| 999 | 1.2 |
----------------------------
这意味着第一英里为 1.50 英镑,第二到第五英里为 3.00 英镑,然后每增加一英里为 1.20 英镑。
这将使 10 英里的旅程 = 19.50 英镑
我真的不知道从哪里开始,因此我们将不胜感激。
我能想到的是:-
var distance = 10
// create a key value pair (although this isn't correct)
var tariff = {mileage: 1, rate: 1.5, mileage: 5, rate: 3, mileage: 999, rate: 1.2};
然后循环关税:-
for (var i = 0; i < distance; i++) {
//multiply mileage by rate
}
//get sum of values from loop
最佳答案
这是一个选项。
将您的关税对象更改为数组并执行反向 for
循环,使用 i
作为当前英里。
var distance = 10; cost = 0;
var tariff = [{ mileage: 1, rate: 1.5 },{ mileage: 5, rate: 3 },{ mileage: 999, rate: 1.2 }];
for (var i = 0; i < distance; i++) {
var milePrice = 0;
for (var j = tariff.length; j--;) {
if (i < tariff[j].mileage)
milePrice = tariff[j].rate;
}
cost += milePrice;
}
document.write(cost.toFixed(2));
关于jQuery For 数组上的循环计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35494288/