Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在多个数组中查找最大数_Javascript_Discord.js - Fatal编程技术网

Javascript 如何在多个数组中查找最大数

Javascript 如何在多个数组中查找最大数,javascript,discord.js,Javascript,Discord.js,所以我需要为我的Discord机器人制作一个水平排行榜命令,它存储了所有的级别,但是每个用户都算作一个不同的数组。这里有一个存储了一些级别的示例 "356260305371791360": { "xp": 11114, "level": 38 }, "368009051021508618": { "xp": 6610, "level": 23 }, "437022946783920148": { "xp": 8822, "level": 30 }, "555153623143677975

所以我需要为我的Discord机器人制作一个水平排行榜命令,它存储了所有的级别,但是每个用户都算作一个不同的数组。这里有一个存储了一些级别的示例

 "356260305371791360": { "xp": 11114, "level": 38 },
 "368009051021508618": { "xp": 6610, "level": 23 },
 "437022946783920148": { "xp": 8822, "level": 30 },
 "555153623143677975": { "xp": 9804, "level": 33 },
 "484534061650542602": { "xp": 1598, "level": 6 },
 "562255044590960650": { "xp": 280, "level": 1 },
 "547567997900947466": { "xp": 3100, "level": 11 }
我需要帮助来了解如何遍历每个数组并找到最大的数字(即xp)

如果您首先从分数图中获得一个键或值数组,则可以使用
Array#sort
。下面我得到一个键数组并使用它进行排序,然后获取前五个结果并显示它们。如果您只想得到最顶层的结果,请获取第一个元素,而不是使用
.slice(0,5)

let userScores={
“356260305371791360”:{“xp”:11114,“级别”:38},
“368009051021508618”:{“xp”:6610,“级别”:23},
“43702294678392148”:{“xp”:8822,“级别”:30},
“55515323143677975”:{“xp”:9804,“级别”:33},
“48453406165042602”:{“xp”:1598,“级别”:6},
“56225504459090650”:{“xp”:280,“级别”:1},
“547567997900947466”:{“xp”:3100,“级别”:11}
};
让topFive=Object.keys(userScores).sort((a,b)=>userScores[b].xp-userScores[a].xp).slice(0,5);

console.log(“Top five:\n”+topFive.map(id=>`User${id}和${userScores[id].xp}xp`)。join('\n'))这些是对象,不是数组