こんにちは皆さん、私は週末を通してこのことを機能させるのに苦労してきましたが、頭を悩ませているようには見えません。私が達成しようとしているのは、openweathermap API を使用して配列から weatherdata を選択し、このデータを新しい配列にプッシュすることです。私の問題は、これを常に翌日の午前 6 時に開始する 24 時間予測のように機能させたいことです。したがって、この 24 時間間隔内に存在するデータのみをプッシュしたいと考えています。しかし、私が言ったように、私はこれを機能させることができないようです。
これが私のコードです:
HTML
<div ng-app="weatherApp" ng-controller="weatherController">
<ul>
<li ng-repeat="x in forecastArray">
{{x.dt_txt}}
</li>
</ul>
</div>
JavaScript
var app = angular.module('weatherApp', []);
app.controller('weatherController', function($scope, $http) {
$scope.units = 'metric';
$scope.apiId = '...'; //My api key
$http.jsonp('http://api.openweathermap.org/data/2.5/forecast?', { params : {
q : "london",
units : $scope.units,
callback: 'JSON_CALLBACK',
APPID: $scope.apiId
}}).success(function(response){
$scope.data = response.list;
});
$scope.forecastArray = []; //new array
var dtStart = new Date(...); //Have no clue how to define this object...
var dtEnd = new Date(+new Date(dtStart) + 86400000); //dtStart + 24 hours
$scope.data.forEach(function(item){
var date = new Date(item.dt); //defining the dt property in data as a new dateobj
if(date > dtStart && date < dtEnd){
$scope.foreCastArray.push(item);
}
});
});