2016-11-15 10 views
0

RETURNSが機能しないようです。注文タイプを指定しましたが、配信タイプを認識するだけです。 STANDARDパラメータを使用して、リターンを価格+20で値段を付けたいと思っています。Cant get RETURNS function to work

どうすれば修正できますか?それは私が返すために設定した "注文タイプ"パラメータを読んでいないようです!

function calculate(deliveryType, orderType, timeslotType, size, weight, fromZone, toZone) { 

    var price = 0.0 

    var params = { 
     from: fromZone.getBillingZone(), 
     to: toZone.getBillingZone() 
    } 

    var record = undefined 

    if (orderType == "NORMAL" || "C2C") { 

     record = util.zones.findRecord(deliveryType, params) 

     if (size == "S") { 
      return record.pouchRate 
     } 

    } else if (orderType == "RETURN") { 

     record = util.zones.findRecord("STANDARD", params) 

    } else { 
     throw "Unknown order type " + orderType 
    } 

    if (deliveryType == "STANDARD") { 
     price = price 
    } 

    if (deliveryType == "EXPRESS") { 
     price = price 
    } 

    if (orderType == "RETURN") { 
     price = price + 20.0 
    } 

    return price 

    var standardCSV = expressCSV = [{ 
     "from": "else", 
     "to": "else", 
     "pouchRate": 50.0 
    }, { 
     "from": "else", 
     "to": "there", 
     "pouchRate": 60.0 
    }] 

    var nextDayCSV = [{ 
     "from": "else", 
     "to": "else", 
     "pouchRate": 70.0 
    }] 

    var sameDayCSV = [{ 
     "from": "else", 
     "to": "else", 
     "pouchRate": 90.0 
    }] 
+1

あなたは本当の[mcve]を提供する必要があります。そのコードはコンパイルされず、関数を与えている入力をあなたに知らせておらず、どの出力が得られているのかを教えておらず、期待している出力を教えてもらえません。 – Quentin

+0

あなたの質問には 'RETURNS'と書かれていますが、あなたのコードがおそらくあなたの問題である可能性のある' RETURN'をチェックしています。 –

答えて

3

条件が間違っています。 if (orderType == "NORMAL" || "C2C")は常にtrueです("C2C"がtrueと評価されるため)。あなたはおそらく代わりに何をしたいですか:

if (orderType == "NORMAL" || orderType == "C2C")