You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让函数按指定次数从数组中获取随机值?

解决方案:让函数支持自定义随机值数量

很容易改造你的函数来实现这个需求!核心思路就是给函数加一个参数,用来指定要生成的随机值数量,然后通过循环批量生成并添加到数组里。

首先先修正你原代码里的一个小问题:game.colors里的颜色值需要加引号,不然会被当作未定义的变量,导致报错。

接下来是改造后的完整代码:

game.colors = ['red', 'green', 'blue', 'yellow'];
game.computerMoves = [];

// 给函数添加count参数,默认值设为1,兼容原来的单值生成功能
function getRandomMoves(count = 1) {
  // 可选:如果你希望每次调用都生成全新的一组随机值(而不是追加到已有数组),就加上这行清空数组
  // game.computerMoves = [];
  
  // 循环count次,每次生成一个随机颜色并推入数组
  for (let i = 0; i < count; i++) {
    const randomColor = game.colors[Math.floor(Math.random() * game.colors.length)];
    game.computerMoves.push(randomColor);
  }
  
  return game.computerMoves;
}

怎么使用?

  • 要生成6个随机值:调用 getRandomMoves(6),返回的数组里就会有6个随机颜色
  • 要生成9个随机值:调用 getRandomMoves(9)
  • 如果还是只需要1个,直接调用 getRandomMoves() 或者 getRandomMoves(1) 都可以,和原来的功能保持一致

额外说明

如果你不希望每次调用都往已有数组里追加,而是每次生成全新的独立数组,就把代码里注释的那行 game.computerMoves = []; 取消注释,这样每次调用函数都会先清空数组,再生成新的一组随机值。

内容的提问来源于stack exchange,提问作者icewizard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:51:16