npm包@thi.ng/random使用教程

在现代Web开发中,前端应用程序的需求越来越复杂,需要产生随机数来模拟数据、进行算法测试等等的需求也越来越多。在这种情况下,许多开发人员都采用了随机数生成器如Math.random()。但是,这种方法在很多方面都存在问题,比如它的随机性不够高、无法重现等等。因此,一个更好的随机数生成器是必要的。

在本文中,将介绍一个npm包@thi.ng/random,它是一款高质量的随机数生成器,采用TypeScript编写,并提供了许多有用的函数,使其变得更加易于使用。此外,@thi.ng/random还有一些高级功能,如序列生成和游程编码。

安装

安装@thi.ng/random可以使用npm:

--- ------- --------------

或者使用yarn:

---- --- --------------

使用

@thi.ng/random提供了许多有用的函数,下面分别介绍一下。

random

生成返回0到1之间浮点数的函数:

------ - ------ - ---- -----------------

---------------------- -- --------------------

也可以通过传入min和max的值产生在指定范围的随机数:

----------------------- ----- -- ------------------

int

生成返回0到n-1之间整数的函数:

------ - --- - ---- -----------------

--------------------- -- -

可以传入一个min和max指定范围:

------------------ ---- -- -

weightedRandom

生成根据权重生成值的函数:

------ - -------------- - ---- -----------------

------------
  ----------------
    --- ---------
    --- ----------
    --- ----------
  --
--
-- ------

shuffle

生成随机排序数组的函数:

------ - ------- - ---- -----------------

----------------------- -- -- -- ----- -- --- -- -- -- --

也可以通过传入一个rng函数来控制随机性:

----------------------- -- -- -- --- -- -- ------ -- --- -- -- -- --

Seq

Seq类可以用于生成随机序列。默认情况下,它生成[0,1]之间的浮点数序列:

------ - --- - ---- -----------------

--------------- ------------------------- -- -------------------- ------------------- ------------------- ------------------- -------------------

也可以通过传入一个与Math.random类似的rng函数来控制随机性:

------------
  --- ------ -- ----
    --------
    ----------
-- -- ----- ---- ---- ---- ----

runLengthEncoding

runLengthEncoding函数可以将数字序列压缩为游程编码:

------ - ----------------- - ---- -----------------

------------
  --------------------- -- -- -- -- -- -- -- -- ---
-- -- ---- --- --- --- --- --- --- --- --- ---

示例

下面是一个简单的使用示例。该程序使用@thi.ng/random生成一个包含10个随机数的数组,并将数组中的每个元素乘以2:

------ - --- - ---- ----------------------
------ - ---- ------ - ---- -----------------

----- ------ - --- -----
  ---------
  -------- -- - - --
  -----------

--------------------

结论

@thi.ng/random是一个高质量的随机数生成器,提供了许多有用的函数,包括生成随机数、生成整数、加权随机、随机排序、序列生成和游程编码。它的简单、易用和高级功能使其成为现代Web开发中不可或缺的一部分。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedab52b5cbfe1ea0610721


猜你喜欢

  • npm 包 @azure/logger-js 使用教程

    前言 在开发前端应用程序时,我们经常需要记录日志以便于调查问题。为了实现这个目的,我们可以使用一些前端日志记录工具包。本文介绍了 npm 包 @azure/logger-js,它是 Azure SDK...

    4 年前
  • npm 包 express-status-monitor 使用教程

    前言 在 Web 应用程序开发过程中,随着应用程序越来越复杂,有时候需要一种方法来监控应用程序的健康状况,以及确保系统在运行时没有任何问题。传统上,系统管理员使用系统监控软件来监控服务器和系统资源。

    4 年前
  • npm 包 is-ci-cli 使用教程

    介绍 is-ci-cli 是一个简单易用的 npm 包。它用于检测当前代码是否运行于 CI 环境中。通过检测环境变量以及其他信息,is-ci-cli 可以自动判断当前代码是在本地运行还是在 CI(比如...

    4 年前
  • npm 包 static-link 使用教程

    概述 在前端开发中,我们常常需要引入外部样式、字体、图片等静态资源文件。但是在生产环境中,因为某些原因(如防盗链、加速等),我们可能需要对这些静态资源进行链接加密或者替换链接路径,这样可以保护我们的资...

    4 年前
  • npm包@azure-tools/datastore使用教程

    前言 随着云计算的普及以及云应用的流行,越来越多的开发者开始使用微软的Azure云服务来开发自己的应用。作为Azure的开发者,如何使用Azure的API和工具来快速开发应用是每一个开发者都需要面对的...

    4 年前
  • npm 包 @azure-tools/oai2-to-oai3 使用教程

    在一些 REST 客户端的实现中,我们可能会面临一个很常见的问题,就是 OpenAPI 规范版本不同所导致的差异。具体来说,我们可能会面对两种不同版本的 OpenAPI 规范,即 OAI 2.0 ,以...

    4 年前
  • npm 包 @azure-tools/codegen 使用教程

    什么是 @azure-tools/codegen @azure-tools/codegen 是一个 npm 包,它可以根据 Azure REST API 的 OpenAPI 规范自动生成 Typesc...

    4 年前
  • npm 包 @azure-tools/openapi 使用教程

    什么是 @azure-tools/openapi? @azure-tools/openapi 是一个由 Azure 开发的 Node.js 模块,用于解析和操作遵循 OpenAPI 规范的 API 描...

    4 年前
  • npm 包 @azure-tools/linq 使用教程

    前言 很多前端开发者可能已经听说过 Linq,它是 .NET 平台中一种基于集合的查询方式,可以方便地对集合进行过滤、排序、分组等操作。而 Azure 是微软提供的云计算平台,在其中进行开发需要掌握一...

    4 年前
  • npm 包 @azure-tools/deduplication 使用教程

    前言: @azure-tools/deduplication 是 Azure 工具中的一部分,是一个用于检测并去除项目中的重复依赖项的工具箱。使用此工具可以减少项目中的依赖项数目,优化项目性能。

    4 年前
  • npm 包 @azure-tools/object-comparison 使用教程

    简介 在前端开发中,经常需要判断两个对象是否相同。@azure-tools/object-comparison 是一个基于 Node.js 的 npm 包,可以用来比较两个 JavaScript 对象...

    4 年前
  • npm 包 linq-es2015 使用教程

    本文将介绍如何使用 npm 包 linq-es2015,帮助开发者快速了解该工具的使用方法,并通过实例代码演示具体操作流程。 什么是 linq-es2015 linq-es2015 是基于 ECM...

    4 年前
  • npm 包 @autorest/core 使用教程

    前言 在现代的 Web 开发中,不仅仅是搭建好前端框架,更多时候是将多个前端组件结合起来,以实现复杂的功能。为了达到这一目的,npm 包管理工具也变得越来越重要。其中 @autorest/core 这...

    4 年前
  • npm 包 @azure-tools/async-io 使用教程

    一、概述 npm 包 @azure-tools/async-io 是 Azure 工具集合中异步 I/O 操作的统一实现。 异步 I/O 在前端中经常用到,但是不同的环境和框架有不同的实现方式。

    4 年前
  • npm 包 @azure-tools/eventing 使用教程

    紧跟着 Azure 的强劲启动,该公司已经开始广泛提交他们的工于场合的程序包,以便开发者可以在 Azure 上构建自己的应用,而这些程序包通过 npm 发布。 这篇文章将介绍一个名为 @azure-t...

    4 年前
  • npm 包 @azure-tools/extension 使用教程

    在前端开发中,如何高效的调用 Azure 平台的资源是一个非常关键的问题。本教程将介绍如何使用 npm 包 @azure-tools/extension 来快速地在 VS Code 中启用 Azure...

    4 年前
  • npm 包 @azure-tools/tasks 使用教程

    介绍 @azure-tools/tasks 是 Azure 工具箱(Azure Tooling)的一部分,提供了一组可被用于自动化构建和发布操作的任务(tasks)。

    4 年前
  • npm 包 @azure-tools/uri 使用教程

    在前端开发过程中,我们常常需要对 URL 进行解析、合并、处理等操作。针对这种需求,微软 Azure 团队开发了一个 npm 包 @azure-tools/uri,它提供了方便的 URL 解析和处理工...

    4 年前
  • NPM 包 Autorest 使用教程

    前言 在前端开发中,我们难免要与后端 API 打交道。通过手动编写 API 调用代码可能是一项费时费力的工作。为了提高效率,Autorest 库应运而生。本篇文章将介绍如何使用 Autorest 创建...

    4 年前
  • npm 包 @ts-common/azure-js-dev-tools 的使用教程

    简介 @ts-common/azure-js-dev-tools 是一款用于 Azure JavaScript 开发工作流的工具包,它提供了一些实用的工具函数和配置,简化了 Azure JavaScr...

    4 年前

相关推荐

    暂无文章