gpt4 book ai didi

javascript - 使用对象计算变化 - javascript

转载 作者:行者123 更新时间:2023-11-29 20:58:18 25 4
gpt4 key购买 nike

我正在尝试创建一个函数,该函数接受总计和为该总计提供的现金,然后在对象中返回正确的零钱数额。

在我下面的不完整代码中,我只能正确计算 tenDollar 而 fiveDollar 计算不正确(应该有 1 tenDollar,1 fiveDollar 返回)。我在这里错过了什么?

var calculateChange = function(total, cash) {
var totalIndex = total;
var cashIndex = cash;
var roundedChange = Math.round((cash - total) * 100) / 100;

var cashCount = {tenDollar:0, fiveDollar:0, twoDollar:0, oneDollar:0,
quarter:0, dime:0, nickel:0, penny:0};

for (var i=0; i===0; ) {
i = roundedChange;
if (i-10 >= 0) {
cashCount.tenDollar += 1;
i = roundedChange-10;
}
else if (i-5 >= 0) {
cashCount.fiveDollar += 1;
i = roundedChange-5;
}
}
return cashCount;
}

console.log(calculateChange(1.87, 20));

最佳答案

修正你的尝试:

  • 修复循环,使其循环直到 i 为零,而不是在 为零时停止。
  • 更改代码,使其从 i 中减去而不是从 roundedChange
  • 中减去

下面计算预期结果:

var calculateChange = function(total, cash) {
var totalIndex = total;
var cashIndex = cash;
var roundedChange = Math.round((cash - total) * 100) / 100;

var cashCount = {
tenDollar: 0,
fiveDollar: 0,
twoDollar: 0,
oneDollar: 0,
quarter: 0,
dime: 0,
nickel: 0,
penny: 0
};

var i = roundedChange;
while (i > 0) {
if (i - 10 >= 0) {
cashCount.tenDollar += 1;
i -= 10;
}
else if (i - 5 >= 0) {
cashCount.fiveDollar += 1;
i -= 5;
}
}
return cashCount;
}

console.log(calculateChange(5, 50));

关于javascript - 使用对象计算变化 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48066256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com