如何在数组中选择随机元素以避免(除非它是)某个值?

2023-12-29

例如,当用户连接到此应用程序时,他们会获得一个 userid var,然后将其插入到数组中。所以,我正在使用

chosenUser = usersOnlineArray[Math.round((Math.random()*usersOnlineArray.length))];

选择另一个随机用户。但我需要确保它不会选择他们个人分配的用户ID,这样他们就不会最终得到自己的用户ID。

我将如何使用该代码,但告诉它“记住,确保你不选择用户ID”

也许我可以做类似的事情

chosenUser = usersOnlineArray[Math.round((Math.random()*usersOnlineArray.length))];

    if (chosenUser = userid)
    {
        chosenUser = usersOnlineArray[Math.round((Math.random()*usersOnlineArray.length))];
    } else
    {
    //next part of mycode
    }

也许这应该是一个while (chosenUser = userid)万一它得到两次......

但是,我想如果有一种有效的方法来确保它不会首先选择它,我可以跳过所有这些。

抱歉,我不太确定应该如何表达这个问题,或者是否有一个我不知道的术语来指代我正在尝试做的事情。


using 数学.round()可能会导致返回“未定义”,因为您允许它选择没有索引的 usersOnlineArray.length 。使用数学.floor()反而。

您可以将不想匹配的项目移至数组末尾,然后从数组中随机选择除最后一个元素之外的元素:

//Users Array
var usersArray:Array = new Array("JoeID", "MaryID", "UserID", "JohnID", "SusanID");

//Find UserID And Push It To The End
usersArray.push(usersArray.splice(usersArray.indexOf("UserID"), 1));

//Randomly Select Companion From usersArray Except For UserID (Last Element)
var companion:String = usersArray[Math.floor(Math.random() * (usersArray.length - 1))];

trace(companion);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在数组中选择随机元素以避免(除非它是)某个值? 的相关文章

  • 超出 Google 电子表格上的 ImportXML 限制

    我现在陷入了 抓取问题 特别是我想将作者的姓名从网页提取到谷歌电子表格 其实功能 IMPORTXML A2 span class author vcard meta item 正在工作 但是当我增加了要抓取的链接数量后 它就开始无限加载 所
  • 解构为两个单独的变量

    有没有一种快速的方法来解构一个对象 以便将其存储到两个不同的组中 例如 const obj a 1 b 2 c 3 d 4 e 5 const a b obj store the rest of the properties that we
  • 我应该选择哪个 redux 中间件?

    按照指南 我发现了一些用于 redux 应用程序的中间件 Redux 重击 https github com gaearon redux thunk Redux 承诺 https github com acdlite redux promi
  • 如何在本机反应中发出触摸事件

    我正在尝试启用 panResponder 以拖放模式在屏幕上移动组件 然而 这种拖放必须通过longPress在这样的元素上 longPress捕获事件 所以当panResponder已启用onStartShouldSetPanRespon
  • Vue 多个组件位于一个包/文件中

    假设我想创建一个 UI 包 如何将多个组件放入一个 JS 文件中 通常我会将不同的组件放在不同的文件中 import ButtonText from ButtonText vue import ButtonIcon from ButtonI
  • 包含字符串和数字的数组

    在 Objective C 中 很容易创建一个异构数组 如下所示 NSArray myArray String1 String2 123 456 有什么方法可以快速创建这样的数组吗 如果是的话怎么办 Note 我在 swift 中尝试了类似
  • 如何反转音量滑块的音量数学?

    我正在构建一个视频播放器 但有点卡在音量滑块部分 这是一个 YouTube 风格的垂直滑块 这意味着如果滑块位于顶部位置 音量应该为 100 如果滑块拖动到底部位置 声音应该为 0 目前它的做法与我想要的相反 向下拖动滑块将使声音变大 向上
  • 为什么“斜接”关节比其他关节慢?

    我在 Flash Player 中绘制线条时遇到图形问题 如果我使用任何其他线条 则以不同粗细绘制在彼此顶部的两条线条无法正确对齐JointStyle than MITER 有关效果图片以及问题的图形部分 请参阅我的帖子在 doctype
  • html5 vs flash - 完整的比较图表在哪里? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 因此 自从史蒂夫 乔布斯说 Flash 很糟糕并暗示 HTML5 可以完成 Flash 可以做的所有事情
  • 适用于 HTML5 混合应用程序的 CORS

    我读过很多关于 CORS 的文章 以及允许 Access Control Allow Origin 如何成为 Web 服务器的安全漏洞 但没有一篇文章解释了如何允许 HTML5 混合应用程序访问某些不允许使用通配符 的域上托管的 Web 服
  • 有什么简单的方法可以清理 Google Maps v3 API 上的所有标记、折线和其他叠加层吗?

    我想获得一张新地图 而不是使用刷新网页 thanks 并有简单的方法来获取地图上的所有叠加层 在 v2 API 中 有clearOverlays http code google com apis maps documentation ja
  • Perl 中令人困惑的文件句柄

    一直在使用以下脚本 但仍然无法理解两种不同 类型 的文件句柄形式背后的含义 任何见解将不胜感激 usr bin perl use warnings use strict open FH example txt or die while
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 如何从代码隐藏文件中的asp.net用户控件注册(调用)jQuery函数?

    如何从代码隐藏文件中的asp net用户控件注册 调用 jQuery函数 您可以使用ClientScriptManager RegisterStartupScript http msdn microsoft com en us librar
  • AS3 - 在正好 23 个空 Alpha 通道处,下面的图像停止绘制

    我注意到 在尝试绘制大量圆圈时 偶尔会出现某种视觉错误 某些圆圈无法正确绘制 好吧 我缩小了范围 并注意到如果同一位置有 23 个或更多 alpha 值为 00 的对象 则下面的对象不会绘制 它似乎是在逐个像素的基础上进行的 因为图像的某些
  • 如何将字符串转换为 Javascript 中可执行的代码行?

    我有以下代码 console log I am var x console log Alive 现在我只想使用x执行分配给它的代码字符串 例如 我什至可能不知道 x 的值 但只是想执行它 这可能吗 eval https developer
  • CSS交付优化:如何推迟CSS加载?

    我在尝试着优化 CSS 交付遵循针对开发人员的谷歌文档https developers google com speed docs insights OptimizeCSSDelivery example https developers
  • jQuery可排序发布数据,但没有数据

    谁能告诉我我在这里缺少什么 我的数据似乎总是空的 我做错了什么 document ready function nav sortable connectWith nav axis y update function event ui var
  • 如何在jsp页面中包含javascript

    我是 J2EE 和 Web 开发的新手 这是我的问题 我想在网页中包含 angular js 这是有效的版本 但我也想要一些本地的 javascript 文件 并且希望我想在本地目录中导入 angularjs
  • 在 Javascript 中动态创建 []array

    也许这将是一个真正愚蠢的问题 但我是 JavaScript 新手 并且坚持动态创建数组 如下格式 items Date 2012 01 21T23 45 10 280Z Value 7 Date 2012 01 26T23 45 10 28

随机推荐

  • React 测试 Fake XMLHttpRequest

    我正在为某人的应用程序编写一些测试代码 我是专门为 React 编写测试的新手 在组件内部的一个方法中 一个新的XMLHttpRequest对象被实例化 然后像这样使用 var myModal React createClass postR
  • UITextView 上的 beginResponder 不起作用

    由于某种原因 我无法将文本字段设置为第一响应者 我有一个包含两行的 UITableView 每行都有一个标签和一个 UITextField 文本字段标记为 kLoginRowIndex 0 和 kPasswordRowIndex 1 您可能
  • MySQL查看性能

    我有一个大约有 100 000 个用户的表 第一个案例 explain select state count as cnt from users where state ca 当我为上述查询执行解释计划时 我得到的成本为 5200 第二种情
  • 如何在不激活摄像头的情况下确定 Windows 10 上是否正在使用网络摄像头?

    在 Windows 10 上 如何确定连接的网络摄像头当前是否处于活动状态 而无需在摄像头关闭时将其打开 目前 我可以尝试使用相机拍照 如果失败 则假设相机正在使用中 但是 这意味着摄像头的活动 LED 将打开 因为摄像头正在使用 由于我想
  • 表单未提交隐藏输入

    代码中有隐藏的输入 默认情况下必须为 TRY 并且可以使用下拉框进行更改 代码 HTML div class form group div
  • 有没有办法从 Angular 的缓存中获取所有键,特别是模板缓存?

    有没有办法从 Angular 的缓存中获取所有键 特别是模板缓存 我在文档中没有看到任何有关如何执行此操作的信息 cacheFactory http docs angularjs org dev appspot com api ng 24c
  • ASP.NET MVC - 混合自定义和默认模型绑定

    我有一个类型 public class IssueForm Order Order get set Item Item get set Range Range get set 由于订单和项目的要求 我创建了一个自定义模型绑定器 但范围仍然可
  • mysql唯一索引在java中用作异常处理方法

    我想知道在java中根据sql的唯一索引捕获异常是否是一个好主意 我想捕获像 1 0 的重复条目 这样的异常 如果是这样 则处理异常 否则正确插入数据库表中 我说你不要这样做 有两个原因 错误消息有点不清楚 错误 1062 23000 密钥
  • 如何使用 .NET API 生成 AWS S3 上传的请求签名?

    我直接使用来自 Amazon 的 NET API 将一些文件上传到 S3 但是 我收到异常消息 The request signature we calculated does not match the signature you pro
  • 带继承的 C++ 模板部分特化

    我需要部分专业化struct 但我还想使用一些常用功能 例如 假设我有下一个类型 template
  • 将 .data 属性中的元素设置为零 scipy.sparse 中令人不快的行为

    当我设置值时 我的行为令人不快 data of csr matrix为零 这是一个例子 from scipy import sparse a sparse csr matrix 0 0 2 0 1 1 0 0 0 3 0 0 Output
  • 如何获取android的native方法源码

    是否可以获取并观看Android程序组件的本机方法代码 如果有人知道如何做 请告诉我 您可以使用 查找 Android 本机方法的源代码 以下服务之一 AndroidXRef http androidxref com GitHub http
  • Python 列表值被覆盖,为什么?

    我有一个收件人查询包含两个收件人ID 1 和 2 我循环遍历每一个来构建 json 输出 data this tem for item in recipients this tem recipient id item pk data app
  • 用于验证的数据注释,至少有一个必填字段?

    如果我有一个包含字段列表的搜索对象 我可以使用 System ComponentModel DataAnnotations 命名空间将其设置为验证搜索中至少有一个字段不为 null 或空吗 即所有字段都是可选的 但至少应输入一个字段 我扩展
  • 如何检查 iPython 中对象的内存使用情况?

    我正在使用 iPython 来运行我的代码 我想知道是否有任何模块或命令可以让我检查对象的内存使用情况 例如 In 1 a range 10000 In 2 memusage a Out 2 1MB 就像是 memusage 并返回该对象使
  • 负载4096字节是否包含registration_id长度?

    在Android GCM文档中 据说有效负载最多为4096字节限制 负载的 4096 字节是否包括 Registration id 长度 我发现我可以发送一条有效负载为 16038 字节 包括 Registration ids 的消息 它不
  • PHP - 没有数据库存储信息

    我将改进 Apache 和 PHP 中的一个网站 该网站的页面上有一个包含文件列表的表 我的目标是允许用户根据某些特定和主观标准将这些文件之一设置为 重要 文件 为了做到这一点 我想以某种方式存储有关最 重要 文件的信息 但限制是我既不能使
  • 如何在 AWS Cloudformation 的“输出”中获取子网的“cidrblock”?

    我正在编写 AWS 代码结构 我必须打印子网的 Cidrblock 但这是行不通的 请帮忙 Resources Subnet Type AWS EC2 Subnet Properties VpcId Ref VPC CidrBlock 10
  • P2 存储库聚合器

    我们有几个内部 p2 存储库 每个存储库都有许多不同功能的版本 我们需要为客户提供一个外部更新站点 我们只想聚合特定功能的特定版本 聚合 它们是一个好方法 工具吗 例如我们有一个 p2 存储库repo1有特色feature1有版本1 0 0
  • 如何在数组中选择随机元素以避免(除非它是)某个值?

    例如 当用户连接到此应用程序时 他们会获得一个 userid var 然后将其插入到数组中 所以 我正在使用 chosenUser usersOnlineArray Math round Math random usersOnlineArr