在 JavaScript 中从字符串生成随机数

2024-02-16

我想制作一个客户端 A/B 测试库。

每个用户都有一个存储在 cookie 中的随机数。每个测试都有一个测试名称和一系列选项。我需要一个函数,根据用户的随机数、测试名称和选项来选择随机选项。当然,该函数必须始终为给定的一组输入返回相同的选项。

我怎样才能用 JavaScript 编写这个函数?


我当前的解决方案使用CryptoJS 库的 MD5 https://code.google.com/p/crypto-js/哈希函数生成随机数:

// seed is the user's random number

choose_option = function(seed, test_name, options) {
  word = CryptoJS.MD5("" + seed + test_name).words[0]; // take first 32-bit word
  i = Math.abs(word % options.length);
  return options[i];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JavaScript 中从字符串生成随机数 的相关文章

  • 使用日期类型将输入字段中的日期居中

    我想将日期居中input not input inside div 如果我进行居中 它将把日期居中于input因为有一个右侧面板用于根据日历选择日期 该面板根据输入宽度调整大小 用于演示的小代码片段 center text align ce
  • 为什么 `obj.foo = function() { };` 没有将名称 `foo` 分配给函数?

    从 ES2015 ES6 开始 函数有了专有名称 包括官方名称 name属性 而函数创建时的赋值除了明显的函数声明和命名函数表达式之外还有多种方式 比如给变量赋值 函数的名字设置为变量的名字 给对象属性赋值 函数的名称设置为属性的名称 甚至
  • 在 Meteor.method 中调用函数返回未定义

    过去几天我一直在尝试从 Meteor 方法获取返回对象 每次我这样做我都会得到undefined在客户端上 Meteor methods CORSTest function let url www theverge com 2017 4 1
  • 在 Matlab 中将绘图从高斯混合变换为均匀分布

    考虑以下抽签2x1Matlab 中的向量 其概率分布是两个高斯分量的混合 P 10 3 number draws v 1 First component mu a 0 0 5 sigma a v 0 0 v Second component
  • 根据嵌套值使用数组过滤对象数组

    我正在尝试根据某些嵌套对象过滤数组 我准备了一些Fiddle http jsfiddle net NZnN2 249 输入数组如下所示 let arrayOfElements name a subElements surname 1 sur
  • 允许指针(单击)事件穿过元素,同时保持滚动功能

    我的目标是拥有一个允许 下面要点击 交互的元素 滚动 众所周知 1 的解是pointer events none 这正如中所描述的单击 DIV 到底层元素 https stackoverflow com questions 3680429
  • 如何制作像Stackoverflow一样的可折叠评论框

    我正在构建一个网站 并且有一个状态更新列表 我希望允许用户为列表中的每个项目撰写评论 但是我正在尝试实现一个类似于堆栈溢出工作方式的用户界面 特别是可折叠的评论表单 列表 用户在其中单击对列表中的特定状态更新添加评论 并且在列表中的该项目下
  • React延迟加载/无限滚动解决方案

    我花了一段时间才弄清楚如何使用优秀的延迟加载图像React Lazyload 组件 https github com jasonslyvia react lazyload 演示在滚动时延迟加载图像 但在测试时我无法获得相同的行为 罪魁祸首是
  • 一个 Next.js 路由中的两个不同子域

    我想使用构建一个新平台Next js https nextjs org React js https reactjs org and 反应路由器 https reacttraining com react router web guides
  • 检测 iframe 内容加载失败

    我可以使用以下命令检测 iframe 的内容何时加载load事件 不幸的是 就我的目的而言 这有两个问题 如果加载页面时出现错误 404 500 等 则永远不会触发加载事件 如果某些图像或其他依赖项加载失败 则会照常触发加载事件 有什么方法
  • 带有嵌入式 Ruby 的 Javascript:如何安全地将 ruby​​ 值分配给 javascript 变量

    我在页面的 javascript 块中有这一行 res foo 处理这种情况的最佳方法是什么 ruby var里面有单引号吗 否则会破坏 JavaScript 代码 我想我会用红宝石JSON http json org ruby var 上
  • 使用 ES6 模块导出/导入单个类方法?

    假设我有一个像这样的简单课程fileA js class foo constructor x this name x fooMethod x return x hello 我想导入并使用fooMethod in fileB js像这样 im
  • 如何在参数上使用 .reduce() 而不是特定的数组或对象?

    我想定义一个函数 flatten 将多个元素展平为一个数组 我知道以下是不可能的 但本质上我想这样做 var flatten function var flattened arguments reduce function acc elem
  • CryptoJS 和 Pycrypto 一起工作

    我正在使用 CryptoJS v 2 3 加密 Web 应用程序中的字符串 并且需要在服务器上使用 Python 对其进行解密 因此我使用 PyCrypto 我觉得我错过了一些东西 因为我无法让它工作 这是JS Crypto AES enc
  • chrome 扩展 - 将数据从后台传递到自定义 html 页面

    创建浏览器扩展 我必须从 background js 打开新选项卡并将 JSON 数据传递到这个新选项卡 在新选项卡中 我使用传递的 JSON 数据来操作 渲染 DOM 下面是我的 background js 的一部分 我在其中使用自定义
  • Jade(当前称为“Pug”)模板引擎中的循环

    我想使用一个简单的循环 例如for int i 0 i lt 10 i 如何在 Jade 引擎中使用它 我正在使用 Node js 并使用expressjs 框架 例如 for var i 0 i lt 10 i li array i 你可
  • 使用 dnode 从服务器向客户端发送消息

    几个月前 我发现了 nowjs 和 dnode 并最终使用了 nowjs 并且https github com Flotype nowclient https github com Flotype nowclient 用于客户端 服务器双向
  • 如何在 ChartJS 中创建自定义图例

    我需要使用 ChartJS 库为我的圆环图创建自定义图例 我已经使用 ChartJS 提供的默认图例创建了甜甜圈 但我需要一些修改 我希望其价值高于汽车名称 另外 我不喜欢粘性图例 我想将其与甜甜圈分开 这样我就可以更改字体 框的样式 例如
  • 地址更改时如何停止 Angular 重新加载

    我正在使用 Angular 的scrollTo and anchorScroll像这样 app controller TestCtrl function scope location anchorScroll scope scrollTo
  • html5 canvas 使用图像作为蒙版

    是否可以使用具有形状的图像作为整个画布或画布内图像的蒙版 我想将图像放置在画布中 并在图像上添加蒙版 然后将其另存为新图像 您可以使用 source in globalCompositeOperation 将黑白图像用作蒙版 首先 将蒙版图

随机推荐

  • 标准化 ggplot 中叠加密度图的 x 尺度

    当叠加具有相同长度但不同比例的数据的 ggplot 密度图时 是否可以标准化图的 x 比例以使密度匹配 或者有没有办法标准化密度 y 尺度 library ggplot2 data lt data frame x c A B C D E y
  • 使用 rvm 安装 ruby​​ 标头

    Travis CI 使用 RVM 提供 Ruby 但它似乎不包含标头 find home vagrant rvm rubies ruby 1 9 3 p194 lib ruby 1 9 1 i686 linux home vagrant r
  • 如何在 Google 电子表格中使用 OR 语句嵌套 IF 块

    我正在寻找有关我在 Google 电子表格中使用的这段小代码的帮助 ArrayFormula IF OR F2 F Cancelled G2 G Cancelled Cancelled IF F2 F Finished 20 IF G2 G
  • Joi 正则表达式不被识别为正则表达式模式

    我正在尝试为密码字段制定验证规则 它应包含以下内容 必须有号码 必须至少包含一个大写字母 必须包含至少一个小写字母 必须包含以下任何符号 长度应仅为 8 到 20 个字符 这是我使用的正则表达式模式 a z A Z d A Za z d 8
  • Django:尝试在 URL 中使用 Slug 时出现 404 错误

    我是 Django 的初学者 现在 我正在通过构建一个名为 PhoneReview 的应用程序来学习该框架 它将存储与最新手机相关的评论 它还将显示手机品牌 相关手机型号及其评论 现在 我正在尝试在 URL 中使用 slug 我已经在我的两
  • SQL Server中如何保持插入顺序

    我只是想知道我是否可以保持SQL Server中数据插入的顺序 我正在开发自己的项目 它是一种包含许多帖子的博客网站 我会将我的帖子保存到 SQL Server 但我希望它们按插入顺序排列 问 据我了解 如果我在SQL Server中使用自
  • 显示和隐藏窗口,而不是在可可应用程序中关闭单击时终止应用程序

    我一直在尝试在关闭 红色按钮 单击窗口时显示隐藏窗口 我想做的是隐藏窗口 当用户再次单击我的应用程序时 它将再次显示 预先感谢所有提供答案的开发人员 我是 Cocoa 应用程序的新手 我是iOS开发人员 所以我对cocoa应用程序了解不多
  • 商店中的成功和失败函数 - Ext JS

    我有一个请求 成功后会循环遍历 JSON 响应的每个属性并将其添加到我的store var request Ext Ajax request url MCApp jsonData searchquery params start 0 lim
  • Oracle 19c 安装错误:[INS-35179] 当前可用内存小于创建 DB 所需的可用内存 (1,597MB)

    我正在尝试安装 oracle 19c 在安装过程中遇到了与内存相关的问题 INS 35179 当前可用内存小于创建 DB 所需的可用内存 6 537MB 我仔细检查了所有先决条件 例如2GB free RAM 10 GB free spac
  • 水平调整 ImageView

    我正在开发一种电子书应用程序 并尝试通过以下两种方式显示图像 当屏幕处于portrait 我将图像水平放置并垂直居中 当屏幕处于landscape 我希望图像水平填充屏幕并保持纵横比 由于我使用的图像长于宽 所以我有一个ScrollView
  • React 和 Jest:无法从测试文件中找到模块

    为目录中的 Redux 操作 App js 设置 Jest 测试 App test js app tests 这是 App js 的标头 jest unmock modules actions App js import React fro
  • 如何将具有静态值的字段添加到mongodb查找查询?

    我们可以向 mongodb 添加一些具有静态值的自定义字段吗find query 我正在尝试将 API 请求 UId 添加 附加到我们对 mongodb 进行的所有查询 以便我们可以将请求与来自 mongodb 日志的慢速查询进行映射 我在
  • H2数据库TIMESTAMP列的默认值

    我正在用 H2 数据库编写集成测试 我的数据库 生成的 初始化包括此脚本 因为生成的联接表没有此列 ALTER TABLE INT USR ADD IU INSDTTM TIMESTAMP DEFAULT NOW 这就是我创建记录的方式 I
  • C++14 元编程:在编译/初始化时自动构建类型列表

    使用 C 14 和 Curiously Recurring Template Pattern CRTP 的某种组合以及可能的Boost Hana http www boost org doc libs 1 63 0 libs hana do
  • 将 x86 与 Blazor 结合使用时“无法启动调试适配器”

    我正在尝试使用 x86 中的 ASP NET 托管 只是基本模板应用程序 来调试 Blazor WebAssembly 应用程序 如果我使用 x64 平台进行调试 应用程序可以正常运行 但是 如果我将所有项目 服务器 客户端和共享 切换到
  • Tomcat 是否使用 pl/sql 模块的缓存版本?

    好吧 想象一下这种情况 我对 pl sql 模块进行了更改 重新编译它 一切都很好 没有错误 然后 我尝试访问在 Tomcat 上运行的应用程序上的 GUI 屏幕 该屏幕调用 oracle 数据库中的 pl sql 模块 当我提交应该调用
  • 您可以更改 logback 中 %caller{0} 的输出以模仿 log4j %l 说明符吗?

    我正在从 log4j 迁移到 Logback Log4j 具有 l 格式说明符 它将打印出调用方法的完全限定名称 后跟调用者在括号之间获取文件名和行号 示例 com my company MyClass doSomething MyClas
  • 在同一域上使用 firebase 函数的 oAuth 的跨域状态 cookie 问题

    我正在为 firebase 平台的用户实现 oAuth 登录 一切正常 除非用户has 禁用跨域 cookie 这就是我所做的 从我的域 应用程序 用户被重定向到云功能 can 函数设置statecookie 并将用户重定向到 oAuth
  • 在 R 中打印小于或等号?

    我尝试使用 u2264对于小于或等号 gt names table A1 lt c x P X x P X u2264x gt print table A1 但这出现在输出中 gt x P X x P X x gt 1 2 0 562 0
  • 在 JavaScript 中从字符串生成随机数

    我想制作一个客户端 A B 测试库 每个用户都有一个存储在 cookie 中的随机数 每个测试都有一个测试名称和一系列选项 我需要一个函数 根据用户的随机数 测试名称和选项来选择随机选项 当然 该函数必须始终为给定的一组输入返回相同的选项