Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const requestOptions = {
- headers: {
- accept: "*/*",
- "accept-language": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7,ru;q=0.6",
- "sec-ch-ua":
- '"Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"',
- "sec-ch-ua-mobile": "?0",
- "sec-ch-ua-platform": '"Windows"',
- "sec-fetch-dest": "empty",
- "sec-fetch-mode": "cors",
- "sec-fetch-site": "same-origin",
- },
- referrer: "https://www.abilityarena.com/profile/stats",
- referrerPolicy: "strict-origin-when-cross-origin",
- body: null,
- method: "GET",
- mode: "cors",
- credentials: "include",
- };
- let i = 0;
- const leaderboard = await fetch(
- "https://www.abilityarena.com/api/leaderboard",
- requestOptions
- ).then((res) => res.clone().json());
- console.log(leaderboard);
- const data = await Promise.allSettled(
- leaderboard.map(async (player) => {
- const abilityStatsRequest = await fetch(
- `https://www.abilityarena.com/api/players/${player.steam_id}/ability_stats`,
- requestOptions
- );
- const abilityStatsBody = await abilityStatsRequest.clone().json();
- i++;
- console.log(i);
- return abilityStatsBody;
- })
- );
- const summarizedData = data.flat().reduce((acc, cur) => {
- if (acc[cur.ability_name]) {
- console.log(cur);
- acc[cur.ability_name] = acc[cur.ability_name];
- acc[cur.ability_name].count += 1;
- acc[cur.ability_name].numGames += cur.numGames;
- acc[cur.ability_name].freq += cur.freq;
- acc[cur.ability_name].winner_freq += cur.winner_freq;
- acc[cur.ability_name].top_four_freq += cur.top_four_freq;
- } else {
- acc[cur.ability_name] = {
- count: 0,
- numGames: 0,
- freq: 0,
- winner_freq: 0,
- top_four_freq: 0,
- };
- }
- return acc;
- }, {});
- const summarizedDataWithMean = summarizedData;
- for (let [key, value] of Object.entries(summarizedData)) {
- summarizedData[key].freq =
- Math.round((summarizedData[key].freq / summarizedData[key].count) * 100) /
- 100;
- summarizedData[key].winner_freq =
- Math.round(
- (summarizedData[key].winner_freq / summarizedData[key].count) * 100
- ) / 100;
- summarizedData[key].top_four_freq =
- Math.round(
- (summarizedData[key].top_four_freq / summarizedData[key].count) * 100
- ) / 100;
- }
- console.log(summarizedData);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement