コールバック機能に問題があります。私のコードでは、REST APIに16個のGETリクエストを作成して16個のJSONファイルを取得することになっています。その後、これらのJSONのそれぞれをその週のサッカーテーブルランキングの辞書に解析し、最終的に過去16週間のリーグ順位を与えるために各エントリを「辞書の辞書」HistoricalTableに保存する必要があります。しかし、関連するコールバック関数を実行すると、さまざまなLeagueTable変数が正常に動作しているように見えますが、これをHistorical Dataに保存しようとすると、最終的な配列はそれぞれ同じように見えます。私のコールバック関数が配列に埋め込まれていないようですか?
//This creates the modifier for the URL used in the GET request
var MatchDayList = []
for (i = 0; i < 17; i++) {
MatchDayList[i] = i
}
MatchDayList.shift()
var HistoricalTable = {}
var LeagueTable = {}
// This executes the GET request
for (i = 0; i < 16; i++) {
url = 'http://api.football-data.org/v1/competitions/445/leagueTable/?matchday=' + MatchDayList[i],
$.ajax({
url: 'http://api.football-data.org/v1/competitions/445/leagueTable/?matchday=' + MatchDayList[i],
headers: {
'X-Auth-Token': ''
},
method: 'GET',
dataType: 'json',
success: function(data) {
handleData(data)
},
});
}
//This function should append the retrieved JSON to the LeagueTable variable
function handleData(data) {
for (var j = 0; j < 20; j++) {
LeagueTable[data.standing[j].position] = data.standing[j].teamName
LeagueTable[20] = data.matchday
}
saveData(LeagueTable)
}
//This function should save each LeagueTable matchday data into a bigger array, HistoricalTable
function saveData(LeagueTable) {
HistoricalTable[LeagueTable[20]] = LeagueTable
console.log(HistoricalTable)
}
これは素晴らしいです!私はこれを何時間も見つめていて、答えを見つけられませんでした。答える時間をとってくれてありがとう! –