未定义的数组值

时间:2017-02-10 20:52:50

标签: javascript arrays d3.js

请帮助我,因为JS这次真的杀了我。

在我开始将我的应用分成不同的功能之前,一切都很好。我的应用程序中的第一步是获取天气数据。所以我在窗口加载时调用getData函数。响应很好,我得到了我的数据,之后我将它们返回给数据变量。我console.log数据和数组。但我无法获得数组的价值!我也不是一些功能(d3.max()即)。我已经尝试了一切,但我不知道发生了什么。

enter image description here(希望打印屏幕能更好地解释你的问题)

window.onload = function(){
  var data = getData( cities.poznan );  
  console.log(data);
  console.log(data[0]);
}

var cities = {
  poznan: "3088171",
  madrid: "3117735",
  barcelona: "3128760"
};

function round(n){
  return Math.round( n * 10) / 10;
}

function getData(id){
  var key = "22421a7c9d3efxxxxxx2b71394";
  var url = "http://api.openweathermap.org/data/2.5/forecast/daily?id=" + id + "&units=metric&cnt=7&appid=" + key;
  var data = [];

  d3.json(url, function(response){

    response.list.forEach(function(el){
      data.push( el.temp.day );
    });
  });

  return data;

}

0 个答案:

没有答案