【发布时间】:2016-12-07 22:43:44
【问题描述】:
我正在尝试制作简单的天气应用程序,但遇到了一些问题。 我正在使用 openweathermap.org 的 API 来获取最低和最高温度。 这是我的钥匙:
http://api.openweathermap.org/data/2.5/forecast/daily?callback=fetchData&q=London&appid=redacted&units=metric&_=1481140918291
现在对于我正在使用的 API,他们不提供日期,所以我尝试使用以下代码自行完成:
forecast.list.forEach(function(forecastEntry, index, list){
today = new Date();
html += '<p>'+ today + ': ' + forecastEntry.temp.min + '< ' + forecastEntry.temp.max + '</p>'
})
现在这得到了我的一些输出:
2016 年 12 月 7 日星期三 22:29:27 GMT+0100(中欧标准时间):9.62
2016 年 12 月 7 日星期三 22:29:27 GMT+0100(中欧标准时间):-6.73
2016 年 12 月 7 日星期三 22:29:27 GMT+0100(中欧标准时间):-7.95
2016 年 12 月 7 日星期三 22:29:27 GMT+0100(中欧标准时间):-6.34
2016 年 12 月 7 日星期三 22:29:27 GMT+0100(中欧标准时间):-2
2016 年 12 月 7 日星期三 22:29:27 GMT+0100(中欧标准时间):1.72
我尝试过这样做:
for (i=0;i<8;i++) {
var today = new Date();
today.setDate(today.getDate()+i);
console.log(today);
html += '<p>' + today + forecastEntry.temp.min + '< ' + forecastEntry.temp.max + '</p>'
}
这解决了天数问题,但由于我的 forEach 循环,我认为它会多次重复我的整个输出。我是 JS 新手,我真的很难解决这个问题。任何帮助,将不胜感激。这是我整个代码的 JSBIN:http://jsbin.com/lafurih/edit?html,js,output
编辑:澄清我的问题。输出显示我想要 8 天,但它显示了 8 次。
【问题讨论】:
-
您已经描述了它的功能,但没有描述您想要它做什么。您能否指定预期的行为?
-
你在发布你的 appid 时应该小心,因为现在任何人都可以使用它并且他们将能够用完你分配的请求......
-
@JohnWu 看看 JSBIN 并输入 London 例如现在你会看到输出很多次,但我只想要 1 次。
-
@MikeMcCaughan 是的,我知道这很冒险,但我想详细描述我的问题....
-
??你想要一次吗???以为你想要八天的预测。如果您只想要一天,请摆脱 for 循环。我是不是误会了?
标签: javascript jquery date datetime