2015-06-23 33 views
0

我正在從OpenWeatherMaps API獲取天氣信息,然後使用FlotJS在圖上繪製它的應用程序。SyntaxError:標識符在JavaScript中的數字文字錯誤後立即啓動?

的數據是來自:

http://api.openweathermap.org/data/2.5/forecast?lat=39.77476949&lon=-100.1953125

凡緯度,經度是動態生成的。你可以通過鏈接瞭解返回哪種JSON響應。

我想先建立陣列,以便將它們傳遞到數據對象,而繪圖像這樣的圖形:

var temp = []; 
var humidity = []; 
var rain = []; 

$.each(response.list, function(i, item){ 
    if(moment(item.dt, 'X').isSame(moment(), 'day')){ 
     temp.push([moment(item.dt, 'X').valueOf(), parseFloat(item.main.temp)]); 
     humidity.push([moment(item.dt, 'X').valueOf(), parseFloat(item.main.humidity)]); 
     rain.push([moment(item.dt, 'X').valueOf(), parseFloat(item.rain.3h)]); 
    } 
}); 

temphumidity都工作正常。我無法添加降水量。降水值在3hrain對象,當我試圖將其推入陣,我得到一個控制檯錯誤說:

SyntaxError: identifier starts immediately after numeric literal

如何去解決這個問題呢?

+3

'item.rain [「3h」]' – Pointy

+0

問題出在這裏:'item.rain.3h'。把它改成'item.rain [「3h」]' – briosheje

回答

1

3h不是一個有效的符號,它是一個數字字面後跟一個「h」;解析器去繁榮。

改爲需要item.rain['3h']

+0

哇。爲什麼我不能想到這一點。有時候,最讓我困惑的是最簡單的事情。謝謝。我會盡快接受它。 – Rohan

相關問題