javascript
  • jquery
  • html
  • json
  • 2016-05-14 38 views 1 likes 
    1

    我的JavaScript是這樣的:如何檢查未定義的變量javascript?

    <script type="text/javascript"> 
    
        var priceJson = '[{"@attributes":{"Code":"SGL","Total":"400000"},"DayPrice":{"Date":"2016-05-26","Rate":"400000"}},{"@attributes":{"Code":"DBL","Total":"200000"},"DayPrice":{"Date":"2016-05-26","Rate":"200000"}}]'; 
    
        console.log(priceJson); 
        var priceObject = JSON.parse(priceJson); 
        console.log(priceObject); 
    
        if(priceObject.DayPrice.Rate) 
         priceObject = [priceObject]; 
        else 
         priceObject = priceObject; 
    
        console.log(priceObject); 
        var priceJson = JSON.stringify(priceObject); 
        console.log(priceJson); 
    
        var countRoomType = priceObject.length; 
        for(var i=0; i<countRoomType; i++){ 
         console.log(priceObject[i].DayPrice.Date); 
         console.log(priceObject[i].DayPrice.Rate); 
        } 
    
    
    </script> 
    

    演示(在控制檯中看到):https://jsfiddle.net/oscar11/wsqdha8w/1/

    可變priceJson有一個動態值。該值可以是單個數據實例,也可以是數據數組。如果值中包含1點的數據,然後我轉換成這樣的數據數組:

    if(priceObject.DayPrice.Rate) 
         priceObject = [priceObject]; 
    

    但是,在控制檯出現以下錯誤:TypeError: priceObject.DayPrice is undefined

    解決我的問題解決方案,任何?

    +0

    你在這裏有錯誤if(priceObject.DayPrice.Rate)'。 – C2486

    +1

    'if(priceObject.DayPrice && priceObject.DayPrice.Rate)..' – Andy

    回答

    2

    根據您的錯誤信息判斷,您還需要檢查是否存在DayPrice

    if(priceObject.DayPrice && priceObject.DayPrice.Rate) 
    

    if條件有兩個步驟。

    • 首先它檢查是否存在DayPrice
    • 它會檢查是否存在DayPrice.Rate

    它不會檢查條件如果第一一個失敗

    +0

    我需要你幫忙。看看這裏:http://stackoverflow.com/questions/38280802/how-to-change-amcharts-pie-themes –

    +0

    @mosestoh我還沒有amcharts工作。不知道我是否能夠提供幫助。 – gurvinder372

    +0

    沒問題。謝謝 –

    相關問題