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

React中如何实现从指定数字集合随机选取数字的函数?

修复从多参数中返回随机数的函数问题

你的函数每次返回第一个参数的原因很明确:

  • 你定义函数时只声明了单个参数numbers,调用randomInside(10,20,25,45)时,numbers只会获取到第一个传入的值10
  • 之后你把这个值包装成数组[numbers],这个数组的长度永远是1,所以Math.floor(Math.random() * array.length)的结果永远是0,自然每次返回第一个参数

修复方案:使用剩余参数语法

用...剩余参数语法接收所有传入的参数,这样所有参数会自动被收集成一个数组,无需手动包装:

const randomInside = (...numbers) => {
  // 可选:处理无参数传入的情况,避免报错
  if (numbers.length === 0) {
    return undefined; // 也可以抛出错误或返回默认值,按需调整
  }
  const newIndex = Math.floor(Math.random() * numbers.length);
  return numbers[newIndex];
};

调用randomInside(10,20,25,45)时,numbers会直接变成[10,20,25,45],随机索引会在0到3之间生成,从而返回其中一个随机数字。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:22:06