簡體   English   中英

我怎樣才能使這個數字更有效

[英]How can I make getting this number more efficient

我正在編寫一段代碼,以獲取公司面板的價格。 價格由4個變量確定。 1)價格等級2)量規3)顏色4)面板。 我將發布以下內容。 該代碼工作正常,但我想知道是否有一種更簡單,更有效的方法。 面板的價格必須是var panelRate的值。

價格水平位置

var priceLevel;
if (retailPrice.checked)
{
    priceLevel=0;
}
else if (contractorPrice.checked)
{
    priceLevel=1;
}
else if (wholesalePrice.checked)
{
    priceLevel=2;
}

量規

var gauge;
if (gaugeNine.checked)
{
gauge="0";
}
else if (gaugeSix.checked)
{
gauge="1";
}
else if (gaugeFour.checked)
{
gauge="2";
}
else if (gaugeTwo.checked)
{
gauge="3";
}
else if (gaugeSeven.checked)
{
gauge="4";
}

顏色和面板類型的定義與上面顯示的其他兩個定義相同,但是顏色的范圍是0-6,面板類型的范圍是0-9。

然后,我使用這4個數字來查找持有我所需價格的數組中的位置(下方)。

var panelPrice=[];
panelPrice[0]=[];
panelPrice[0][1]=[];
panelPrice[0][1][0]=[];
panelPrice[0][1][0][0]=1.99;  //R,GU,29,TR
panelPrice[0][1][0][1]=2.99;  //R,GU,29,RP
panelPrice[0][1][0][2]=3.75;  //R,GU,29,C4
panelPrice[0][1][0][3]=4.33;  //R,GU,29,C2
panelPrice[0][1][0][4]=5.51;  //R,GU,29,5V
panelPrice[0][1][0][5];    //R,GU,29,SS
if (panelWidth=="16")
{
    panelPrice[0][1][0][5]=6.11;  
}
else if (panelWidth=="12")
{
    panelPrice[0][1][0][5]=10.06;
}
panelPrice[0][1][0][6]=6.89;  //R,GU,29,UP
panelPrice[0][1][0][7]=7.71;  //R,GU,29,SF

panelRate=panelPrice[priceLevel][colorUp][gauge][panelUp];

任何幫助將不勝感激,因為我有1100多種可能的組合。

好問題。

我會將那些不同的檢查添加到數組中並遍歷它們。 嘗試如下操作:

var prices = [retailPrice, contractorPrice, wholesalePrice],
    gauges = [gaugeNine, gaugeSix, gaugeFour, gaugeTwo, gaugeSeven],
    priceLevel, gauge;

// check prices
for (var i = 0; i < prices.length; i++) {
    if (prices[i].checked) {
        priceLevel = i;
        break;
    }
}

// check gauges
for (var i = 0; i < gauges.length; i++) {
    if (gauges[i].checked) {
        gauge = i;
        break;
    }
}

希望有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM