当前位置: 首页 > 面试题库 >

使用AngularJS,我如何随机化集合的顺序?

陆文博
2023-03-14
问题内容

您如何以随机顺序订购AngularJS中的项目列表?我当时以为内置orderBy过滤器会起作用,但是我不确定在不向模型中添加一些其他数据的情况下如何工作。这样的东西会很棒。

item in items | orderBy:random

我的下一个想法是创建一个自定义过滤器,但如果已有更好的选择,我宁愿避免这种情况。


问题答案:

编辑警告! :这些结果是歪斜的,请勿使用此结果。该答案仅作为警告,直到进一步编辑为止。

说明 :任何项目位于第一位置的机会均应相等,但是经过10,000次迭代(例如6个项目)后的实际百分比机率最终为

1:〜28%,2:〜10%,3:〜14%,4:〜20%,5:〜12%,6:〜15%

https://jsfiddle.net/sh0ber/km9cqvpf/

orderBy可以接受一个函数参数,就像array.sort这样,您可以使用上面的HTML并random在范围内定义一个函数,例如:

$scope.random = function(){
    return 0.5 - Math.random();
};

这将返回一个随机值,有时为负,有时为正,有时为0,该值将对数组进行随机排序。



 类似资料:
  • 问题内容: 是否有一种Java集合,我的提取顺序是随机的?例如,我将整数1、2、3放入集合中,当我尝试打印它们时,所有结果都可能是“ 1 2 3”,“ 3 2 1”或“ 1 3 2”? 问题答案: 如果只需要随机序列,可以使用Collections.shuffle

  • 我对任何逻辑都不熟悉,正在尝试构建一个基于代理的模型,该模型随机地将代理(车辆)从起点(地理信息系统地图上的家庭位置点)引导到选定的位置。我有6组不同的集合,其中存储了不同的位置(学校集合、超市集合、购物中心集合、医院集合、旅游集合和工作办公室集合)。 在我的车辆状态图中,我指示它访问4个位置。到目前为止,我只能在每次转换中使用:moveTo(随机来自(主。医院集合))使代理移动到其中一个集合中的

  • 问题内容: 我有一个像这样的数组: 如何将其随机/随机播放? 问题答案: 实际无偏混洗算法是Fisher-Yates(aka Knuth)。

  • 问题内容: 对于我的应用程序而言,至关重要的是能够从Firebase的集合中随机选择多个文档。 由于Firebase(我知道)没有内置本机函数来实现执行此操作的查询,因此我的第一个想法是使用查询游标选择随机的起始索引和终止索引,前提是我拥有​​其中的文档数集合。 这种方法行之有效,但只能以有限的方式进行,因为每次每次文档都会与其相邻文档一起依次送达。但是,如果我能够通过其父集合中的索引选择一个文档

  • 我还没有经验,这是我的第一语言,所以任何建议和提示都会受到欢迎。 我正在尝试创建一个抽奖计划,询问参与者人数,并根据最大人数抽取一名获胜者。我尝试了:

  • 问题内容: 我想创建一个从集合中获取随机元素的函数。我知道有一个本机MongoDB驱动程序的示例,但是我无法在Mongoose中运行它。 问题答案: 我在GitHub Gist中找到了此Mongoose Schema静态函数,该函数应该可以实现您所追求的。它计算集合中文档的数量,然后在跳过随机数量后返回一个文档。 资料来源:https : //gist.github.com/3453567 注意: