当前位置: 首页 > news >正文

Aimless.js API完全参考手册:所有函数用法和参数详解

Aimless.js API完全参考手册:所有函数用法和参数详解

【免费下载链接】aimless.jsThe missing JavaScript randomness library.项目地址: https://gitcode.com/gh_mirrors/ai/aimless.js

Aimless.js是JavaScript中缺失的随机性库,提供了丰富的随机数生成函数,满足各种随机数据需求。本文将详细介绍Aimless.js的所有API函数,帮助开发者快速掌握这个强大的随机数工具库。

核心函数概览

Aimless.js的核心功能通过src/aimless.ts文件统一导出,主要包含以下几类随机数生成函数:

  • 基础随机值:bool,char,sign
  • 数值范围:intRange,floatRange
  • 概率分布:normalDist,exponentialDist,customDist
  • 序列生成:sequence,intSequence,uniqFuncSequence
  • 特殊功能:oneOf,weighted,uuid

基础随机值生成

bool() - 随机布尔值

功能:生成随机布尔值(true或false)

参数

  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { bool } from 'aimless.js'; // 生成随机布尔值 const randomBool = bool(); console.log(randomBool); // 输出: true 或 false

实现源码:src/bool.ts

char() - 随机字符

功能:生成随机字符,支持自定义字符集

参数

  • chars: 可选,字符集字符串,默认为大小写字母和数字
  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { char } from 'aimless.js'; // 生成随机字母数字字符 const randomChar = char(); // 生成随机小写字母 const lowercaseChar = char('abcdefghijklmnopqrstuvwxyz');

数值范围生成

intRange() - 整数范围随机数

功能:生成指定范围内的随机整数(包含边界值)

参数

  • min: 必需,最小值
  • max: 必需,最大值
  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { intRange } from 'aimless.js'; // 生成1-10之间的随机整数 const randomInt = intRange(1, 10); console.log(randomInt); // 输出: 3 (示例)

实现源码:src/int-range.ts

floatRange() - 浮点数范围随机数

功能:生成指定范围内的随机浮点数

参数

  • min: 必需,最小值
  • max: 必需,最大值
  • precision: 可选,小数位数,默认为2
  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { floatRange } from 'aimless.js'; // 生成0-1之间的随机浮点数 const randomFloat = floatRange(0, 1); // 生成10-20之间保留4位小数的随机浮点数 const preciseFloat = floatRange(10, 20, 4);

概率分布生成

normalDist() - 正态分布随机数

功能:生成符合正态分布的随机数

参数

  • mean: 可选,均值,默认为0
  • stddev: 可选,标准差,默认为1
  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { normalDist } from 'aimless.js'; // 生成标准正态分布随机数 const normalValue = normalDist(); // 生成均值为50,标准差为10的正态分布随机数 const customNormal = normalDist(50, 10);

exponentialDist() - 指数分布随机数

功能:生成符合指数分布的随机数

参数

  • lambda: 可选,率参数,默认为1
  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { exponentialDist } from 'aimless.js'; // 生成率参数为0.5的指数分布随机数 const expValue = exponentialDist(0.5);

序列与集合操作

sequence() - 随机序列生成

功能:生成包含随机值的序列数组

参数

  • length: 必需,序列长度
  • generator: 必需,生成每个元素的函数
  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { sequence, intRange } from 'aimless.js'; // 生成包含5个1-100随机整数的序列 const randomSequence = sequence(5, () => intRange(1, 100));

oneOf() - 从数组中随机选择

功能:从数组中随机选择一个元素

参数

  • array: 必需,源数组
  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { oneOf } from 'aimless.js'; const fruits = ['apple', 'banana', 'orange', 'grape']; // 随机选择一个水果 const randomFruit = oneOf(fruits);

weighted() - 加权随机选择

功能:根据权重从数组中随机选择元素

参数

  • options: 必需,包含value和weight属性的对象数组
  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { weighted } from 'aimless.js'; const options = [ { value: 'A', weight: 1 }, { value: 'B', weight: 2 }, { value: 'C', weight: 3 } ]; // 按权重随机选择(C被选中的概率最高) const selected = weighted(options);

特殊功能

uuid() - 生成UUID

功能:生成符合RFC4122标准的UUID v4

参数

  • engine: 可选,随机数引擎实例,默认为defaultEngine

示例

import { uuid } from 'aimless.js'; // 生成随机UUID const id = uuid(); console.log(id); // 输出: "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv"

seedFunc() - 种子函数生成

功能:创建可复现的随机数生成函数

参数

  • seed: 必需,种子值

示例

import { seedFunc, intRange } from 'aimless.js'; // 创建种子随机数引擎 const seededEngine = seedFunc(12345); // 使用种子引擎生成可复现的随机数 const firstRun = intRange(1, 100, seededEngine); // 重置引擎后会得到相同的结果 seededEngine.reset(); const secondRun = intRange(1, 100, seededEngine); console.log(firstRun === secondRun); // 输出: true

带引擎的函数变体

Aimless.js中的大多数函数都提供了WithEngine后缀的变体(如boolWithEngineintRangeWithEngine),这些函数允许你创建绑定到特定引擎的生成器函数:

示例

import { intRangeWithEngine, seedFunc } from 'aimless.js'; // 创建绑定到特定种子引擎的整数生成器 const seededIntRange = intRangeWithEngine(seedFunc(9876)); // 后续调用无需再指定引擎 const number1 = seededIntRange(1, 10); const number2 = seededIntRange(1, 10);

安装与使用

要开始使用Aimless.js,首先需要克隆仓库:

git clone https://gitcode.com/gh_mirrors/ai/aimless.js cd aimless.js npm install

然后在你的项目中导入所需的函数:

import { intRange, normalDist, oneOf } from 'aimless.js';

总结

Aimless.js提供了全面的随机数生成解决方案,从简单的布尔值到复杂的概率分布,从基础的数值生成到高级的序列操作。通过本文介绍的API,你可以轻松实现各种随机数据需求。无论是游戏开发、数据分析还是模拟测试,Aimless.js都能成为你可靠的随机数工具库。

更多详细信息和高级用法,请参考项目的测试文件:test/index.js。

【免费下载链接】aimless.jsThe missing JavaScript randomness library.项目地址: https://gitcode.com/gh_mirrors/ai/aimless.js

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1034626/

相关文章:

  • 大气层系统深度解析:如何为你的Switch构建安全稳定的自定义固件环境
  • 2026梁夹具反馈怎么样 五大口碑品牌真实横评,实力测评所见即所得不交智商税 - 工业品牌热点
  • VALMET ND9106HX8-A3B-DS01 定位器工业应用场景指南
  • Supabase Wrappers生产环境部署:容器化与高可用配置终极指南
  • waifu2x-converter-cpp自定义模型训练:从零开始创建专属超分辨率模型
  • 2025-2026年上海吉日搬场有限公司电话查询:选择搬场服务前请核实资质与合同细节 - 品牌推荐
  • 湖南旺晟辉,高性价比的膜结构充电停车棚工厂 - mypinpai
  • 西安蝴蝶扣性价比怎么样,2026实力测评避坑指南 - 工业品牌热点
  • Vim用户必备:ghostty-cursor-shaders模式切换动画设置教程
  • 湘怡钙业怎么样?深度剖析其产品质量与正规性 - mypinpai
  • 5分钟上手deep-fonts:零基础也能玩转AI字体生成
  • PDF 批量转 PNG 工具 高清无水印本地批量文档转换
  • 2026免费本地视频去水印软件推荐!无联网开源工具+手机免费无水印APP全攻略
  • Windows Auto Night Mode 11.0.0.54 官方版下载(夸克网盘+百度网盘,SHA256校验)
  • OBS Studio终极指南:从零开始掌握免费直播录制软件的5个核心技巧
  • AutoUnipus终极指南:5分钟实现U校园全自动刷课
  • 洛雪音乐音源终极指南:一键获取全网高品质音乐的完整方案
  • 2026年,行业内热门磁滞测功机销售厂家,哪家才是靠谱之选?
  • 庄荣华法律服务机构价格,性价比高的选择 - mypinpai
  • 干货指南:靠谱的消防设计公司如何选择? - 工业推荐榜
  • 植物大战僵尸杂交版手机版下载v0.2 2026最新
  • DeepCode终极指南:打造你的智能AI编程助手
  • E1S社区贡献指南:如何参与这个开源项目的开发和改进
  • 用Google Trends预测油价:实战中的数据陷阱与混合建模
  • 3步解锁Android上的Linux魔法:proot-distro终极指南
  • creaform形创扫描仪推荐哪家?大器成形三维靠谱吗 - 工业推荐榜
  • 2026年6月市面上诚信的地产标识设计厂家推荐,校园文化展厅/园区标牌/小区标牌设计,地产标识设计施工公司哪家好 - 品牌推荐师
  • 二婚相亲平台靠谱吗?二次缘口碑好 - mypinpai
  • SecHex-Spoofy:终极系统标识伪装工具完全指南
  • C++实现的泊肃叶流动LBM模拟程序,支持圆管/方管层流速度场计算