【发布时间】:2021-10-20 16:21:15
【问题描述】:
我正在尝试创建一个新数组,其中包含 5 个随机名称,这些名称取自具有 897 个名称的数组。这是我试图做的,但我不确定如何指定我只想要 5 个名字:
for(let i = 0; i < pokemon.all().length; i++){
pokedex = [i];
};
app.get('/dex', (req, res) => {
res.send(pokedex)
});
【问题讨论】:
-
pokemon.all().length 是您指定的位置,i
-
但是你的代码看起来有点乱,你会运行 for 循环 5 次(那里不需要口袋妖怪),你会有 pokedex.push() 口袋妖怪的值,但你想要它是随机的,所以每个循环你都会抛出一个 0-897 之间的随机数来添加到 pokedex 数组中。完成后,您可以前往 /dex 查看结果。
-
shuffle it 然后slice it 获得前5个,还要注意在路由器中间件之外执行代码,只会在服务器启动时运行一次
-
@blanknamefornow 我明白了,这是有道理的。我运行 for 循环 5 次,然后我会有 pokedex = 新数组?然后使用 pokedex.push() 将 5 个随机名称推送到新的 pokedex 数组中?
-
@LawrenceCherone ...从近 900 个姓名的数组中随机挑选 5 个项目不是比随机排列更容易甚至更有效吗?
标签: javascript arrays random