Skip to content

random(Lodash 兼容性)

请使用 Math.random()

这个 random 函数由于复杂的参数处理和类型转换而运行缓慢。

请使用更快的 Math.random()

在范围内生成随机数字。

typescript
const result = random(min, max, floating);

参考

random(floating?)

生成 0 和 1 之间的随机数字。

typescript
import { random } from 'es-toolkit/compat';

random();
// Returns: 0.123456789 (0~1 之间的小数)

random(true);
// Returns: 0.987654321 (返回小数)

random(false);
// Returns: 0 或 1 (返回整数)

random(max, floating?)

生成从 0 到 max 的随机数字。

typescript
import { random } from 'es-toolkit/compat';

random(5);
// Returns: 3.456789 (0~5 之间的小数)

random(10, true);
// Returns: 7.123456 (0~10 之间的小数)

random(3, false);
// Returns: 2 (0~3 之间的整数)

random(min, max, floating?)

生成从 min 到 max 的随机数字。

typescript
import { random } from 'es-toolkit/compat';

random(1, 5);
// Returns: 3.456789 (1~5 之间的小数)

random(0, 10, true);
// Returns: 6.789012 (0~10 之间的小数)

random(1, 6, false);
// Returns: 4 (1~6 之间的整数)

范围颠倒时会自动交换。

typescript
import { random } from 'es-toolkit/compat';

random(5, 1);
// Returns: 3.456789 (范围变为 1~5)

使用 guard 对象处理特殊情况。

typescript
import { random } from 'es-toolkit/compat';

const guard = { 5: 5 };
random(5, 5, guard);
// Returns: 2.345678 (0~5 之间的小数)

参数

  • floating (boolean, 可选): 决定是否返回小数。默认值为 true
  • max (number): 范围的最大值(不包含)。
  • min (number): 范围的最小值(包含)。
  • index (string | number): 在 guard 对象中要检查的键。
  • guard (object): 验证参数的 guard 对象。

返回值

(number): 返回指定范围内的随机数字。

采用 MIT 许可证发布。