我必须创建此更改计算器,它返回您从事务中返回的更改量,并且还返回下面关联数组中的硬币。如何正确地遍历关联数组,当其中一个键是“1”?
不幸的是我无法通过遍历数组正确(最高钥匙500起:“$ 5”),因为它总是以1个便士(1:“1P”)开始,然后2等
所以对于例如,如果物品的价格为5美元,我支付5.75美元,而不是返回50p,20p,5p,硬币,它是1p,2p,5p,10p,20p。
谢谢!
var coins = {500:"$5", 200:"$2", 100: "$1", 50: "50p", 20:"20p", 10:"10p", 5:"5p", 2:"2p", 1:"1p"};
$('#calc').click(function(){
var priceVar = document.getElementById("price").value;
var paidVar = document.getElementById("paid").value;
var result = (paidVar - priceVar).toFixed(2);
var paidCents = result * 100;
var coinList = "";
for(var key in coins) {
if (paidCents >= key) {
paidCents -= key;
coinList += coins[key];
}
}
$('#change').html("$"+result);
$('#coins').html(coinList);});
你的数组看起来像这个'coins = [{denom:“$ 5”,value:500},{denom:“$ 2”,value:200} ... etc]'或者它必须和你一样展示下?如果你可以将它设置为一个对象数组,你可以按顺序遍历它们 –
我想知道的另外一件事情 - 你使用美元和“p”。不是美元和美分“C”? –
不幸的是,它必须是这样的:(它曾经是英镑符号而不是美元,但由于某种原因,它在我的浏览器中以一种奇怪的方式显示它可能是一个语言包问题 –