第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Javascript收銀機(jī) - 為什么我不能記錄面額的總值

Javascript收銀機(jī) - 為什么我不能記錄面額的總值

慕絲7291255 2022-07-15 09:58:46
function checkCashRegister(price, cash, cid) {var register = [["ONE HUNDRED", 100, cid[8][1]],["TWENTY", 20, cid[7][1]], ["TEN", 10, cid[6][1]], ["FIVE", 5,  cid[5][1]],["ONE", 1, cid[4][1]], ["QUARTER", 0.25, cid[3][1]], ["DIME", 0.10, cid[2][1]], ["NICKEL", 0.05, cid[1][1]],["PENNY", 0.01, cid[0][1]] ]var insuf = "INSUFFICIENT_FUNDS";var closed = "CLOSED";var open = "OPEN";var totalRegister = register.reduce((sum, i) => sum + i[2], 0).toFixed(2);var answer = {status: "INSUFFICIENT_FUNDS", change: []};var change = Math.abs(price - cash);var newArr = []var count = 0if (totalRegister == change) {answer.status = closed;answer.change = cid;} else if (totalRegister < change) {answer.status = insuf} else if (totalRegister > change) {for (var i of register) {  while (change >= i[1] && i[2] > 0) {    change = Math.round(change*100)/100;    change -= i[1];    i[2] -= i[1];    var subArr = []    subArr.push(i[0], i[1]);    }    if (subArr) {      newArr.push(subArr)    }   }  }  console.log(newArr)return answer}所以我上面的代碼幾乎把我?guī)У搅宋倚枰サ牡胤?,并將下面的代碼記錄到控制臺(tái);[ [ 'TWENTY', 20 ],  [ 'TEN', 10 ],  [ 'FIVE', 5 ],  [ 'ONE', 1 ],  [ 'QUARTER', 0.25 ],  [ 'DIME', 0.1 ],  [ 'DIME', 0.1 ],  [ 'PENNY', 0.01 ] ]以此為輸入;console.log(checkCashRegister(3.26, 100, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]]));IT 會(huì)記錄我正在處理的貨幣的面額,但我需要計(jì)算我使用該面額的次數(shù)的總和。我需要的其余代碼字,如果我可以進(jìn)行必要的更改,然后更改答案鍵,我將能夠解決。它還會(huì)兩次記錄一角錢(qián)的價(jià)值,我不知道為什么。誰(shuí)能指出我正確的方向?
查看完整描述

1 回答

?
胡說(shuō)叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

原因是在subArr.push(i[0], i[1]);你用 推動(dòng)貨幣的價(jià)值時(shí)i[1],你需要找到該貨幣面額是否已經(jīng)存在,并增加它的計(jì)數(shù)。您可以為此目的使用地圖數(shù)據(jù)結(jié)構(gòu),如下所示:


function checkCashRegister(price, cash, cid) {

  var register = [

    ["ONE HUNDRED", 100, cid[8][1]],

    ["TWENTY", 20, cid[7][1]],

    ["TEN", 10, cid[6][1]],

    ["FIVE", 5, cid[5][1]],

    ["ONE", 1, cid[4][1]],

    ["QUARTER", 0.25, cid[3][1]],

    ["DIME", 0.1, cid[2][1]],

    ["NICKEL", 0.05, cid[1][1]],

    ["PENNY", 0.01, cid[0][1]],

  ];


  var insuf = "INSUFFICIENT_FUNDS";

  var closed = "CLOSED";

  var open = "OPEN";

  var totalRegister = register.reduce((sum, i) => sum + i[2], 0).toFixed(2);

  var answer = {

    status: "INSUFFICIENT_FUNDS",

    change: []

  };

  var change = Math.abs(price - cash);

  var newArr = [];

  var map = new Map();

  var count = 0;


  if (totalRegister == change) {

    answer.status = closed;

    answer.change = cid;

  } else if (totalRegister < change) {

    answer.status = insuf;

  } else if (totalRegister > change) {

    for (var i of register) {

      while (change >= i[1] && i[2] > 0) {

        change = Math.round(change * 100) / 100;

        change -= i[1];

        i[2] -= i[1];

        if (map.get(i[0])) {

          map.set(i[0], map.get(i[0]) + 1);

        } else {

          map.set(i[0], 1)

        }

      }

    }

  }

  newArr = [...map]

  console.log(newArr);

  return answer;

}


console.log(

  checkCashRegister(3.26, 100, [

    ["PENNY", 1.01],

    ["NICKEL", 2.05],

    ["DIME", 3.1],

    ["QUARTER", 4.25],

    ["ONE", 90],

    ["FIVE", 55],

    ["TEN", 20],

    ["TWENTY", 60],

    ["ONE HUNDRED", 100],

  ])

);


查看完整回答
反對(duì) 回復(fù) 2022-07-15
  • 1 回答
  • 0 關(guān)注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)