为了账号安全,请及时绑定邮箱和手机立即绑定

如何在页面上获取后对数组中的项目进行排序和获取(Discord V12)

如何在页面上获取后对数组中的项目进行排序和获取(Discord V12)

动漫人物 2023-05-18 10:36:27
我试图获得 covid 案例最多的前 5 个国家/地区,但是当我尝试为此调整另一个代码时,出现错误。 fetch("https://pomber.github.io/covid19/timeseries.json") .then(response => response.json()) .then(data => {var countryArr = Object.keys(data).map(i => i);                countryArr.forEach((country) => {                let countryData = data[country];                countryData = countryData[countryData.length - 1];                })                                let countries = getCovidRank(countryArr, message)                countries.map((countryData, index) => {                    countries[index] = `\\🔹 #${index+1} | **Country**: \`\`${countryData[0]}\`\` | **Confirmed**: \`\`${countryData[0].confirmed}\`\``                    })//The rest of the code will always work, the problem is up there}这是 getCovidRank 文件:getCovidRank: (countryArr, message) => {        let countryList = []        for(var country in countryArr) {           let countryData = countryArr.confirmed            countryList.push([countryArr, (countryData[country])])        }                countryList.sort((countryData1, countryData2) => {            return countryData2[1] - countryData1[1] || countryData2[2] - countryData1[2]        })        return countryList;            }我真的希望你能帮助我,我正在努力学习如何做到这一点。下面的代码显示了全局情况(这段代码很好):            var worldStats = { confirmed: 0, recovered: 0, deaths: 0 };            var countryArr = Object.keys(data).map(i => i);            countryArr.forEach((country) => {            let countryData = data[country];            // pick last object for today data                countryData = countryData[countryData.length - 1];                worldStats.confirmed += countryData.confirmed;                worldStats.recovered += countryData.recovered;                worldStats.deaths += countryData.deaths;            });
查看完整描述

1 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

这是一个非常简单的演示,按确认状态显示前 5 个国家。

编辑刚刚添加了一个工作片段

function init() {

  fetch("https://pomber.github.io/covid19/timeseries.json")

    .then(response => response.json())

    .then(data => {

      var countries = [];

      Object.keys(data).forEach(country => {

        var total = data[country].reduce(

          (acc, val) => (acc += val.confirmed),

          0

        );

        countries.push({

          name: country,

          confirmed: total

        });

      });

      countries.sort((a, b) => a.confirmed > b.confirmed ? -1 : 1);

      document.getElementById('div').innerHTML = countries.slice(0, 5).map(c => c.name + ' ' + c.confirmed).join('<br>');

    })

}


init();

<div id="div"></div>


查看完整回答
反对 回复 2023-05-18
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信