我必須創建此更改計算器,它返回您從事務中返回的更改量,並且還返回下面關聯數組中的硬幣。如何正確地遍歷關聯數組,當其中一個鍵是「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」? –
不幸的是,它必須是這樣的:(它曾經是英鎊符號而不是美元,但由於某種原因,它在我的瀏覽器中以一種奇怪的方式顯示它可能是一個語言包問題 –