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

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

我的程序效率不高,有沒有更短的方法來解決它?

我的程序效率不高,有沒有更短的方法來解決它?

素胚勾勒不出你 2023-10-14 10:03:43
由于我剛剛開始使用Javascript,我正在嘗試解決一些問題并提高自己。我就遇到過這樣的問題。我試圖從問題中一步一步地做所有事情,但我不認(rèn)為我的代碼是有效的。有人可以幫我開發(fā)它嗎?問題:請(qǐng)編寫一個(gè) JavaScript 函數(shù),該函數(shù)接受兩個(gè)參數(shù):停車“日期和時(shí)間”(時(shí)間戳)并返回“日期和時(shí)間”(時(shí)間戳)。在機(jī)場(chǎng)停車,適用以下規(guī)則。停車費(fèi);前 20 分鐘 2 歐元,最多 40 分鐘升至 4 歐元,最多一小時(shí)升至 6 歐元,最多兩小時(shí)內(nèi)升至 7 歐元,漲至 9 歐元,持續(xù)長達(dá)三個(gè)小時(shí),漲至 11 歐元,持續(xù)時(shí)間長達(dá) 4 小時(shí),4-8 小時(shí)升至 13 歐元,8-24 小時(shí)漲至 15 歐元。前 24 小時(shí) 16 歐元,之后每天收費(fèi) 9 歐元。這是我的代碼:   function msToHours(milisecond) {        let time = milisecond;        let hour = (time / 60000) / 60;        return hour;    }    //Mins to Hours Function    function minToHours(miniute){        let time = miniute;        let hr = (miniute /60);        return hr;    }    //Finding the nth day Function    function add24HR(hour, cb) {        let arr = new Array();        for (let i = 0; i < hour; i++) {            if (i % 24 == 0) {                arr.push(i)            }        }            return  `Your Parking Fee is £${(arr.length*cb-cb) + 16}.(${arr.length} days)`    }    //Main Function    const parkingFees = (parkingDate, returnDate) => {        //Defining dates        var park = new Date(parkingDate)        var returned = new Date(returnDate);        //Variables        var penaltyFee = 9;        let totalPrice;        //Time between park and return (miliseconds)        let totalTime = returned - park        //MiliSeconds to Hour        let totalPark = msToHours(totalTime);        //Mins to Hours        if (totalPark <= minToHours(20)) {            return `Your parking fee is only £${2}.`        }         else if(totalPark > minToHours(20) && totalPark <= minToHours(40)){            return `Your parking fee is only £${4}.`        }        else if(totalPark > minToHours(40) && totalPark <= minToHours(60)){            return `Your parking fee is only £${6}.`        }        else if(totalPark > minToHours(60) && totalPark <= minToHours(120)){            return `Your parking fee is only £${7}.`        }
查看完整描述

1 回答

?
SMILET

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

您可以重構(gòu)它以使用數(shù)組。然后,如果費(fèi)用發(fā)生變化,您無需修改代碼,只需更改該數(shù)組中的價(jià)格即可:


const steps = [

  { limit:       20, fee:  2 }, // The limits are in minutes

  { limit:       40, fee:  4 },

  { limit:       60, fee:  6 },

  { limit:   2 * 60, fee:  7 },

  { limit:   3 * 60, fee:  9 },

  { limit:   4 * 60, fee: 11 },

  { limit:   8 * 60, fee: 13 },

  { limit:  24 * 60, fee: 15 }, // For complex rules, use a function:

  { limit: Infinity, fee: minutes => 9 * Math.ceil(minutes / 24 / 60) + 7 }

];


// Converts a date string to a number of minutes since 1970-01-01

const dateToMinutes = str => Math.floor(new Date(str).getTime() / 60000);


const calcFee = (parkingDate, returnDate) => {

  const minutesParked = dateToMinutes(returnDate) - dateToMinutes(parkingDate);

  for (let step of steps) {

    if (minutesParked <= step.limit) {

      return isNaN(step.fee) ? step.fee(minutesParked) : step.fee;

    }

  }

};


// Just for testing

const test = (x, y) => (document.body.innerHTML += `<p>${x} - ${y}<br><b>${formatDuration(x, y)}: €${calcFee(x, y)}</b></p>`); const formatDuration = (x, y) => { const d = dateToMinutes(y) - dateToMinutes(x); const res = {d: Math.floor(d / 24 / 60), h: Math.floor((d % (24 * 60)) / 60), m: d % 60}; return `${res.d} days ${res.h} hours ${res.m} min`; };


test("2020-05-12 18:30:00", "2020-05-12 18:40:00");

test("2020-05-12 18:30:00", "2020-05-12 19:00:00");

test("2020-05-12 18:30:00", "2020-05-12 19:30:00");

test("2020-05-12 18:30:00", "2020-05-13 18:29:00");

test("2020-05-12 18:30:00", "2020-05-13 18:31:00");

test("2020-05-12 18:30:00", "2020-05-18 18:30:00");


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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